我想在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
);
答案 0 :(得分:0)
我建议你使用Message Port。 Tizen为应用程序之间的数据通信提供消息端口。请检查..
检查消息端口数据从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]);
}