如何让应用程序控制来自应用程序控件的额外数据由Web应用程序在本机中生成?

时间:2016-11-07 04:29:48

标签: web tizen

我想在Web应用程序中通过app_control启动包含数据的本机应用程序。 我无法在我的原生应用程序中找到app 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 个答案:

答案 0 :(得分:0)

我建议你使用Message Port。 Tizen为应用程序之间的数据通信提供消息端口。请检查..

Message Port Web Guide

Message Port Web API Ref

Message Port Native Guide

Message Port Native API Ref

检查消息端口数据从Web应用程序发送代码,以及消息端口数据从本机应用程序接收代码。如果您为端口提供一个通用名称,假设为“SAMPLE_PORT”,则它们可以进行通信。

请注意,这两个应用都应使用相同的作者证书进行签名。

答案 1 :(得分:0)

我明白了! :)

如果'数据'长度== 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);
    }

如果'数据'长度> 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]);
    }