QML-тип IntentsInvoker
Вызывает интент. Подробнее…
| Строка импорта: | #include <intents_invoker.h> |
Сигналы
| void replyReceived (const QJsonObject &reply, const QVariant &error) | Испускается при получении ответа на интент. |
Публичные функции
| Q_INVOKABLE void invoke (const QString &intentName, const QJsonObject &hints, const QJsonObject ¶ms) | Вызывает интент. |
| Q_INVOKABLE QUrl intentToUri (const QString &intentName, const QJsonObject &hints, const QJsonObject ¶ms) | Кодирует вызов интента в URI. |
Подробное описание
Вызывает интент.
Элемент IntentsInvoker можно использовать в QML-коде для вызова интента в другом приложении. В самом простом виде его использование выглядит так:
... Код QML ...
IntentInvoker {
id: reverseTextInvoker
function call(text) {
var hints = {}
var inputData = {
'message': text,
}
invoke("X-ReverseText", hints, inputData)
}
onReplyReceived: {
// Сигнал replyReceived() передаёт параметр "reply", содержащий
// JSON-данные ответа, а также параметр "error", который будет установлен, если
// интент не удалось доставить по какой-либо причине.
if (error) {
console.log("Получена ошибка " + error.code + ": " + error.message)
return
}
var result = reply['reversedMessage']
// Выполняются какие-либо действия с результатом
console.log("Сообщение в обратном порядке: " + result)
}
}
См. также IntentHandler
Описание функций-членов
intentToUri()
| QUrl IntentsInvoker::intentToUri (const QString & intentName, const QJsonObject & hints, const QJsonObject & params ) |
Кодирует вызов интента в URI.
Этот метод кодирует полный вызов интента в единый URI. Данный механизм позволяет сериализовать
вызовы интентов и инициировать их выполнение посредством вызова функции Qt.openUrlExternally().
Следует учитывать, что применение данного механизма не позволяет получить результат выполнения
интента и даже определить факт успешности вызова.
Параметры
| intentName | Имя интента для вызова |
| hints | Хинты интента |
| params | Входные параметры интента |
См. также invoke()
invoke()
| void IntentsInvoker::invoke (const QString & intentName, const QJsonObject & hints, const QJsonObject & params ) |
Вызывает интент.
Выполняет вызов интента intentName в другом приложении. Эта функция возвращает управление немедленно; для получения ответа следует использовать сигнал replyReceived().
Параметры
| intentName | Имя вызываемого интента. Это может быть один из стандартных системных интентов или интент, определённый приложением (в этом случае его имя будет начинаться с префикса "X-"). |
| hints | Опциональные хинты для менеджера времени выполнения. Данные подсказки описаны в документации RuntimeManager::Intents::Hints, однако в большинстве случаев достаточно передать пустой JSON-объект. |
| params | JSON-объект, содержащий параметры интента. Список принимаемых параметров можно найти в документации соответствующего интента. |
replyReceived
| void IntentsInvoker::replyReceived (const QJsonObject & reply, const QVariant & error ) | signal |
Испускается при получении ответа на интент.
Сигнал испускается по завершении вызова интента. Если параметр error задан, это означает, что
интент не был обработан; для получения информации о причине ошибки необходимо обратиться к полям
code и message данного объекта. Если вызов был успешным, параметр reply будет содержать
JSON-объект с выходными данными интента. Формат выходных данных можно найти в документации
соответствующего интента.
Параметры
| reply | JSON-объект, содержащий выходные данные |
| error | Принимает значение null, если ошибки не произошло; иначе содержит объект Error. |
См. также invoke()