Как получить app control дополнительные данные из app control, которые сделаны веб-приложением в native?

Я хочу запустить собственное приложение с данными app_control в веб-приложении.
Я не могу найти дополнительные данные get app control в моем родном приложении.
Я уже пытался использовать ‘app_control_get_extra_data’, ‘app_control_foreach_extra_data’.

Дайте мне знать, как получить дополнительные данные из управления приложениями веб-приложения.

В моем веб-приложении,

    // Define the data structure describing application control details
    var appControl = new tizen.ApplicationControl(
                   "http://tizen.org/appcontrol/operation/default",
                   null,
                   null,
                   null,
                   [new tizen.ApplicationControlData("key",
                                                     ["data1", "data2"])] );

    // Launch an application with the specified application control
    tizen.application.launchAppControl(
            appControl,
            "net.msalt.myApplicationAppID",
            successCallback,
            errorCallback,
            appControlReplyCallback
        );

2 ответа

  1. Я бы предложил вам использовать порт сообщения. Tizen предоставляет порт сообщения для передачи данных между приложениями. Пожалуйста, проверьте..

    Веб-Руководство По Портам Сообщений

    Порт сообщения Web API Ref

    Руководство По Встроенному Порту Сообщений

    Сообщение порт собственный API Ref

    Проверьте код отправки данных порта сообщения из веб-приложения и код получения данных порта сообщения из собственного приложения. Они могут взаимодействовать, если вы даете порту общее имя, предположим, «SAMPLE_PORT».

    Обратите внимание, что оба приложения должны быть подписаны с одним и тем же сертификатом автора.

  2. Я понял! 🙂

    Если’ data ‘length == 1, Используйте‘ app_control_get_extra_data()’

        // In Web Application
        // Define the data structure describing application control details
        var appControl = new tizen.ApplicationControl(
                       "http://tizen.org/appcontrol/operation/default",
                       null,
                       null,
                       null,
                       [new tizen.ApplicationControlData("key",
                                                         ["data1"])] );
    
        //In Native Application
        char *value = NULL;
        ret = app_control_get_extra_data(app_control, "key", &value);
        if (ret != APP_CONTROL_ERROR_NONE) {
            dlog_print(DLOG_ERROR, LOG_TAG, "Failed to app_control_get_extra_data(). Can't get extra data.");
        } else {
            dlog_print(DLOG_ERROR, LOG_TAG, "data [%s]", value);
        }
    

    Если’ data ‘length > 1, Используйте >‘ app_control_get_extra_data_array()’

        // In Web Application
        // Define the data structure describing application control details
        var appControl = new tizen.ApplicationControl(
                       "http://tizen.org/appcontrol/operation/default",
                       null,
                       null,
                       null,
                       [new tizen.ApplicationControlData("key",
                                                         ["data1", "data2"])] );
    
        //In Native Application
        char **array = NULL;
        ret = app_control_get_extra_data_array(app_control, "key", &array, &length);
        if (ret != APP_CONTROL_ERROR_NONE) {
            dlog_print(DLOG_ERROR, LOG_TAG, "Failed to app_control_get_extra_data_array(). Can't get extra data.");
        } else {
            dlog_print(DLOG_ERROR, LOG_TAG, "data [%s], [%s]", array[0], array[1]);
        }