Документация
ОС Аврора 5.2.1

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 &params) Вызывает интент.
Q_INVOKABLE QUrl intentToUri (const QString &intentName, const QJsonObject &hints, const QJsonObject &params) Кодирует вызов интента в 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()

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.