【问题标题】:How to update native widget instance(app) in web UI app?如何在 Web UI 应用程序中更新本机小部件实例(应用程序)?
【发布时间】:2016-11-07 02:53:48
【问题描述】:

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

有可能吗?

如果可能,如何更新 Web UI 应用程序中的原生小部件实例? 换句话说,widget_service_trigger_update()web 中的 API 是什么?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    据我所知,您不可能在同一个包中制作原生小部件应用程序和 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
            }
        }
    

    在网络应用中,我通过 app id 了解了本机小部件。

    从本机小部件,您必须像这样设置 web ui 应用程序的应用程序 ID,

    app_control_set_app_id(control, "YYYYYYY.WeatherWebApp");
    

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

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

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

    【讨论】:

    • 谢谢!我知道我可以在原生小部件和 Web UI 应用程序之间使用 app_control。我已经编写了关于从本机小部件应用程序调用 Web UI 应用程序的代码。但是,正如我所说,我不知道来自 Web UI 应用程序的本地小部件应用程序更新。我想要它。
    • 还没有。我正在努力寻找解决方案。最后,我有一个变通的解决方案,让本地服务应用程序记住传输 app_control(update)。
    【解决方案2】:

    听说 2.3.1 web api 不支持 'widget_service_trigger_update()'。从 2.3.2 开始支持。

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

    祝你好运。

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

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多