Я создаю приложение для Samsung TV на JavaScript, используя webapis.js
, теперь у меня возникла проблема с определением, когда кабель LAN подключен/отсоединен. Мой телевизор подключен к интернету через коммутатор. Когда я отсоединяю интернет-кабель от коммутатора, я могу определить это через webapis.network.isConnectedToGateway();
, но когда я отсоединяю кабель LAN от коммутатора, мое приложение на телевизоре зависает, инструменты разработчика выдают ошибку: "Отладка подключения был закрыт Причина: Websocket отключен", поэтому я даже не могу отладить этот случай. Я уже пробовал сохранять логи в cookies
/LocalStorage
, но они удаляются при отключении инструментов разработчика.
Итак, как определить, что кабель LAN не подключен к телевизору. Примечание. Мне не нужно знать, когда GATEWAY_DISCONNECTED, а нужно знать, когда LAN_CABLE_DETACHED.
Вот что я пробовал до сих пор:
function getIsConnected () {
try {
/// This will throw an exception when LAN is disconnected
var isConnectedToGateway = webapis.network.isConnectedToGateway();
console.log("isCableConnected value :: " + isConnectedToGateway);
return isConnectedToGateway;
/// won't help me here as when LAN is detached that doesn't work
//return Device.getNetworkConnectionType() === "LAN";
} catch (e) {
log.info("isCableConnected error :: " + e.message);
return 0;
}
}
/// I've also tried this, without any succes
webapis.network.getActiveConnectionType();
/// It only determines 2 states: GATEWAY_CONNECTED = 4; & GATEWAY_DISCONNECTED = 5;
/// which is not what I need
webapis.network.addNetworkStateChangeListener(function (data) {
if (data === 2) { // LAN_CABLE_DETACHED
// never gets here
} else if (data === 1) { // LAN_CABLE_ATTACHED
// never gets here either
}
}