Класс IntentsInvoker
Класс RuntimeManager::IntentsInvoker предоставляет механизм инициирования выполнения интентов
в других приложениях. Подробнее…
| Подключение: | #include <RuntimeManager/IntentsInvoker> |
Диаграмма наследования для RuntimeManager::IntentsInvoker:

Сигналы
| void replyReceived (const QJsonObject &reply, const Error &error) | Функция обратного вызова при завершении |
Публичные функции
| IntentsInvoker (QObject *parent=Q_NULLPTR) | |
| void invoke (const QString &intentName, const QJsonObject &hints, const QJsonObject ¶ms) | Инициирует выполнение указанного интента. |
Статические публичные функции
| static QUrl intentToUri (const QString &intentName, const QJsonObject &hints, const QJsonObject ¶ms) | Конвертирует интент в URI. |
Подробное описание
Класс IntentsInvoker позволяет инициировать выполнение действий, реализованных в других приложениях.
Интенты обеспечивают слабосвязанное взаимодействие между приложениями.
Каждый интент идентифицируется уникальным именем.
Стандартные интенты, определённые операционной системой, описаны на странице
Стандартные интенты. Приложения также могут определять собственные
интенты, имена которых должны начинаться с префикса "X-". Для вызова интента используется
метод invoke(), который инициирует выполнение действия
и немедленно возвращает управление. Поскольку обработка интента в целевом приложении требует
времени, ответ доставляется асинхронно через сигнал
replyReceived(). Объект IntentsInvoker должен
существовать до момента генерации этого сигнала, иначе ответ будет утерян.
Описание конструкторов и деструктора
IntentsInvoker()
| RuntimeManager::IntentsInvoker::IntentsInvoker (QObject * parent = Q_NULLPTR) |
Создаёт объект для вызова интентов. Данный объект не должен уничтожаться до генерации сигнала replyReceived(), в противном случае ответ будет утерян.
Описание функций-членов
intentToUri()
| QUrl RuntimeManager::IntentsInvoker::intentToUri (const QString & intentName, const QJsonObject & hints, const QJsonObject & params ) | static |
Конвертирует интент в URI.
Метод кодирует полный вызов интента в единый URI. Это позволяет сериализовать вызовы интентов
и инициировать их выполнение путём вызова функции Qt.openUrlExternally().
Параметры
| intentName | Имя интента для вызова |
| hints | Рекомендации для сервиса RuntimeManager; детали см. в описании метода invoke() |
| params | Параметры для интента |
invoke()
| void RuntimeManager::IntentsInvoker::invoke (const QString & intentName, const QJsonObject & hints, const QJsonObject & params ) |
Инициирует выполнение указанного интента.
Интенты, определённые операционной системой, перечислены на странице Стандартные интенты. Этот метод также можно использовать для вызова нестандартных интентов (необходимо убедиться, что имя интента начинается с префикса "X-").
Поскольку обработка интентов требует некоторого времени, ответ будет доставлен асинхронно через сигнал replyReceived().
Параметры
| intentName | Имя интента для вызова |
| hints | Необязательные хинты для сервиса RuntimeManager. См. список поддерживаемых хинтов для пространства имён Intents::Hints |
| params | Параметры для интента. Для предопределённых системных интентов параметры заданы в пространстве имён Intents::Params |
replyReceived
| void RuntimeManager::IntentsInvoker::replyReceived (const QJsonObject & reply, const Error & error ) | signal |
Функция обратного вызова при завершении.
Испускается при получении ответа. Значение error будет пустым при успешном ответе.
Параметры
| reply | Содержимое ответного сообщения. Семантика зависит от интента |
| error | Устанавливается валидная ошибка, если ошибка произошла |