Sto utilizzando navigator.network.connection.type
per ottenere lo stato di rete del dispositivo. Ma mostra l'errorePhoneGap/Cordova - TypeError: il risultato dell'espressione 'navigator.network' [indefinito] non è un oggetto
TypeError: Result of expression 'navigator.network' [undefined] is not an object.
ho provato con PhoneGap 1.0.0, 1.7.0 Cordova, Cordova 1.7.0rc1, ma ho ancora ottenere lo stesso errore.
Funziona perfettamente su iOS ma non su Android. Qualcuno può aiutarmi con questo?
Qui è il mio codice:
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady() {
checkConnection();
loaddb();
}
function checkConnection() {
alert(navigator.network);
if(navigator.network==undefined) {
window.localStorage.setItem("internetAccessFlag","false");
} else {
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
if(networkState==Connection.UNKNOWN || networkState==Connection.NONE) {
window.localStorage.setItem("internetAccessFlag","false");
} else {
window.localStorage.setItem("internetAccessFlag","true");
}
//alert(window.localStorage.getItem("internetAccessFlag"));
}
}
</script>
EDIT: - Sto usando Cordova 1.7.0 e plugins.xml ha
<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
C'è qualcosa che devo fare con questo?
Si prega di consultare http://stackoverflow.com/a/10216239/1321873 – Rajesh
Questo non sembra essere il problema. Ho il percorso e il nome specificato correttamente. – ilight
Stai aspettando l'evento "deviceready" prima di provare ad accedere alla proprietà navigator.network.connection.type? –