我想在同一个包中制作一个 Tizen Wearable (2.3.1) 本机小部件应用程序和一个 Tizen Web UI 应用程序。
可能吗?
如果可能,如何在 Web UI 应用程序中更新本机小部件实例?换句话说,什么是widget_service_trigger_update()
Web 中的 API?
谢谢!
我想在同一个包中制作一个 Tizen Wearable (2.3.1) 本机小部件应用程序和一个 Tizen Web UI 应用程序。
可能吗?
如果可能,如何在 Web UI 应用程序中更新本机小部件实例?换句话说,什么是widget_service_trigger_update()
Web 中的 API?
谢谢!
据我所知,您不可能在同一个包中制作原生小部件应用程序和 Web UI 应用程序。您必须开发两个独立的应用程序。一个是本机小部件,另一个是 Web UI。但是您可以通过他们的应用程序 ID 来了解其他应用程序。例如,在 Web 应用程序中,
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 应用程序的应用程序 ID,
app_control_set_app_id(control, "YYYYYYY.WeatherWebApp");
您可以从此链接找到此示例应用程序。下载示例应用程序并从此路径中找到适合您的天气应用程序
Samples/Accessory/Samples(Web)/Weather/Consumer(Tizen)
希望我的想法对你有所帮助。
我听说 2.3.1 web api 不支持 'widget_service_trigger_update()'。它从 2.3.2 开始支持。
所以,我终于通过为这个问题添加一个本机服务应用程序来解决它。服务应用程序从 Web 应用程序接收应用程序控制,然后将 widget_service_trigger_update() 发送到特定小部件实例的本地小部件应用程序。
祝你好运。
** 使用 'widget_service_trigger_update()' 时,必须将应用程序打包在一起以解决权限问题。关联