如何在Web UI应用程序中更新本机窗口小部件实例(app)?

时间:2016-11-07 02:53:48

标签: web widget tizen tizen-wearable-sdk tizen-native-app

我想在同一个包中创建一个Tizen Wearable(2.3.1)本机窗口小部件应用程序和一个Tizen Web UI应用程序。

有可能吗?

如果可能,如何在Web UI应用程序中更新本机窗口小部件实例? 换句话说,网络中的widget_service_trigger_update() API是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

据我所知,您无法在同一个包中创建本机窗口小部件应用程序和Web UI应用程序。 你必须开发两个独立的应用程序。一个是本机小部件,另一个是Web UI。但是你可以通过他们的app id熟悉彼此的应用程序。 例如, 在Web App中,

var widgetAppName = "XXXXXXXXX.weatherwidget";
if (reqAppControl && reqAppControl.callerAppId && reqAppControl.callerAppId == widgetAppName) {
        console.log("Launched by the widget.");
        if (reqAppControl.appControl.data[0].key == "city") {
            console.log("city from widget: " + reqAppControl.appControl.data[0].value);
            readfile(reqAppControl.appControl.data[0].value);   // Show latest data with received city
        }
    }

在网络应用中,我通过应用ID 熟悉了原生小部件。

从原生小部件中,您必须像这样设置web ui app的应用ID,

app_control_set_app_id(control, "YYYYYYY.WeatherWebApp");

您可以从this link找到此示例应用。下载Sample应用程序,并从此路径中找到适合您的天气应用程序

Samples/Accessory/Samples(Web)/Weather/Consumer(Tizen)

希望我的想法会对你有所帮助。

答案 1 :(得分:0)

我听说2.3.1 web api不支持' widget_service_trigger_update()'。它支持2.3.2。

所以,我最终通过为这个问题添加本机服务应用程序来解决它。服务应用程序从Web应用程序接收应用程序控制,然后将widget_service_trigger_update()发送到特定小部件实例的本机小部件应用程序。

祝你好运。

**使用' widget_service_trigger_update()'时,必须将应用程序打包在一起以获取权限问题。 Link