2013-04-09 10 views
6

Cercando di utilizzare Cordova 2.0.0 e utilizzando questo codice per la verifica della connessione ad internetverifica della connessione Internet del dispositivo utilizzando PhoneGap

document.addEventListener("deviceready", onDeviceReady(), false); 

function onDeviceReady() { 
    alert("ready"); 
    db = window.openDatabase("loginintro", "1.0", "loginintro", 1000000); 
    db.transaction(populateDB, errorCB, successCB); 
    checkConnection(); 
} 
function checkConnection() 
{ alert("connection"); 
    network = navigator.network.connection.type; 
    alert("fdfd"); 
    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'; 
    alert('Connection type: ' + states[networkState]); 
} 

ma ottenere errore su questa linea

network = navigator.network.connection.type; 

e l'errore è :

04-09 15:20:23.989: E/Web Console(13329): Uncaught TypeError: Cannot read property 'connection' of undefined at file:///android_asset/www/js/lib/helloworldjs/alldatabse.js:14 
04-09 15:20:39.419: E/CordovaWebView(13329): CordovaWebView: TIMEOUT ERROR! 
04-09 15:20:39.419: D/Cordova(13329): CordovaWebViewClient.onReceivedError: Error code=-6 Description=The connection to the server was unsuccessful. URL=file:///android_asset/www/index.html 
+0

Hai un piccolo errore nel codice. Dovrebbe essere in allerta ('Tipo di connessione:' + stati [rete]) – wmfairuz

+0

buona cattura che era l'unico errore ora la mia funzione funziona bene GRAZIE – Erum

+0

suo onDeviceReady not onDeviceReady() –

risposta

4

Hai un piccolo errore nel codice. Dovrebbe essere in allerta ('Tipo di connessione:' + stati [rete]);

Inoltre, assicurarsi di avere queste autorizzazioni:

Android

app/res/xml/plugins.xml

<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager" /> 

app/AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
3

l'API è stata modificata e dovresti fare riferimento a navigator.connection.

network = navigator.connection.type; 

Poi, vedere benka's answer

0

Ho avuto questo problema con l'ultima versione di Cordova. Ho avuto il plugin di rete nel config.xml ma non è stato scaricato nella directory dei plugin.

Questo problema è stato risolto

Cordova plug aggiungere cordova-plugin-rete-dati Cordova costruire

Il nome del repository è cambiato nel caso in cui si è abituati a:

Cordova plug aggiungere org.apache .cordova.network-information

Problemi correlati