我正在为webOS 3.0开发LG 4K电视的电视应用程序。
我正在使用Luna Connection Manager订阅网络,如http://webostv.developer.lge.com/api/webos-service-api/connection-manager/中的LG开发人员文档所示
我有以下示例代码,我认为我的subscriptionHandle会自动检测网络是连接还是断开连接,并且我可以在断开连接时显示No Connection消息。
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元素中打印出连接状态。它永远不会得到更新。我错过了更多的步骤来完成这项工作吗?
我想要做的是当网络断开连接时,在屏幕上显示某种通知,并在建立连接时删除该消息。
答案 0 :(得分:1)
根据LG开发者的说法,“目前,你应该使用luna://com.palm.connectionmanager用于webOS TV 1.0和luna://com.webos.service.connectionmanager用于webOS TV 2.0 / 3.0。 “
我的解决方法是使用luna://com.webos.service.connectionmanager,并且每15秒调用一次subscriptionHandle.getStatus()。