2016-11-07 48 views
0

我想在web应用程序中通过app_control的数据启动本机应用程序。 我无法在我的本机应用程序中找到应用程序控制附加数据。 我已经尝试使用'app_control_get_extra_data','app_control_foreach_extra_data'。如何从应用程序控制中获取应用程序控制的额外数据?

让我知道如何从Web应用程序的应用程序控制中获取额外的数据。

在我的web应用程序,

// 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 
     ); 

回答

0

我明白了! :)

如果 '数据' 长度== 1,USE '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]); 
    } 
0

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

Message Port Web Guide

Message Port Web API Ref

Message Port Native Guide

Message Port Native API Ref

检查邮件端口发送数据从Web应用程序代码,并从本地应用信息端口数据接收代码。如果您给端口一个通用名称,则它们可以进行通信,假设“SAMPLE_PORT”。

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

+0

谢谢。但我正在寻找解决方案而不是解决方法。我很了解消息端口。但我认为应用程序控制是最好的方式,应用程序控制应该在这种情况下运行良好。 – msalt

相关问题