我正在为webOS 3.0中的LG 4K电视开发电视应用程序。

我正在使用Luna Connection Manager订阅网络,如http://webostv.developer.lge.com/api/webos-service-api/connection-manager/上的LG开发人员文档所示。

我有以下示例代码,并且我认为我的subscriptionHandle可自动检测网络是已连接还是已断开,并且在断开连接时可以显示“无连接”消息。

var connected = false;
var subscriptionHandle = webOS.service.request("luna://com.palm.connectionmanager", {
    method: "getStatus",
    parameters: { "subscribe": true },
    onSuccess: function (inResponse) {
        if (typeof(inResponse.subscribed) != 'undefined') {
            if (!inResponse.subscribed) {
                console.log("Failed to subscribe network state");
                return;
            }
        }
        console.log('inResponse.isInternetConnectionAvailable -- %o ', inResponse.isInternetConnectionAvailable);
        console.log("Result: " + JSON.stringify(inResponse));
        if (inResponse.isInternetConnectionAvailable) {
            connected = true;
            Main.reConnected(); // remove disconnect message
            $('#error').append('Network Connected');
        } else {
             Main.showNoConnection(); // show disconnect message
             connected = false;
            $('#error').append('Network Disconnected');
        }
    },
    onFailure: function (inError) {
        console.log("Failed to get network state");
        console.log("[" + inError.errorCode + "]: " + inError.errorText);
        connected = false;
        Main.showNoConnection();
        $('#error').append('Network Disconnected');
        return;
    }
});


加载应用后,它不会进入if条件。作为参考,我正在#error元素中打印连接状态。它永远不会更新。我是否缺少其他步骤来完成这项工作?

我想要做的是当网络断开连接时,在屏幕上显示某种通知,并在建立连接时删除消息。

最佳答案

LG开发人员表示:“当前,对于webOS TV 1.0,应使用luna://com.palm.connectionmanager;对于webOS TV 2.0 / 3.0,应使用luna://com.webos.service.connectionmanager。”

我的解决方法是使用luna://com.webos.service.connectionmanager并每15秒调用一次subscriptionHandle.getStatus()。

关于javascript - LG WebOS 3.0 TV App-Luna连接管理器订阅处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42863095/

10-09 16:54