Приложение LG WebOS 3.0 TV — обработчик подписки диспетчера подключений Luna

Я разрабатываю телевизионное приложение для телевизоров LG 4K в webOS 3.0.

Я использую Luna Connection Manager для подписки на сеть, как показано в документе разработчиков LG по адресу http://webostv.developer.lge.com/api/webos-service-api/connection-manager/

У меня есть примеры кодов, как показано ниже, и я думал, что мой subscribeHandle автоматически определяет, подключена ли сеть или отключена, и я могу показать сообщение «Нет подключения» при отключении.

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. Он никогда не обновляется. Я пропустил больше шагов, чтобы сделать эту работу?

Что я хочу сделать, так это когда сеть отключена, показать какое-то уведомление на экране, а когда соединение установлено, удалить сообщение.


person user2326737    schedule 17.03.2017    source источник


Ответы (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, а также вызывать subscribeHandle.getStatus() каждые 15 секунд.

person user2326737    schedule 21.03.2017