我正在为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/