2013-04-09 6 views
6

Der Versuch, cordova 2.0.0 zu verwenden und mit diesem Code für die Verbindung von Internet-ÜberprüfungÜberprüfung der Internet-Verbindung des Geräts mit 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]); 
} 

aber Fehler immer auf dieser Linie

network = navigator.network.connection.type; 

und Fehler :

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

Sie haben einen kleinen Fehler im Code. Es sollte alarmiert werden ('Connection type:' + states [network]) – wmfairuz

+0

good catch das war der einzige fehler jetzt funktioniert meine funktion gut DANK – Erum

+0

es onDeviceReady nicht onDeviceReady() –

Antwort

4

Sie haben einen kleinen Fehler im Code. Es sollte eine Warnung sein ('Verbindungstyp:' + states [Netzwerk]);

Darüber hinaus stellen Sie sicher, dass Sie diese Berechtigungen haben:

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

Die API wurde geändert, und Sie sollten sich auf navigator.connection beziehen.

network = navigator.connection.type; 

Dann sehen benka's answer

0

hatte ich dieses Problem mit der neuesten Version von cordova. Ich hatte das Netzwerk-Plugin in der config.xml, aber es wurde nicht in das Plugins-Verzeichnis heruntergeladen. Diese

regelte es

cordova Plugin cordova-Plugin-Netzwerk-Informationen cordova bauen

Der Repository-Name in Fall geändert hat hinzufügen, werden Sie folgende Zwecke verwendet:

cordova Plugin hinzufügen org.apache .cordova.network-information

Verwandte Themen