2013-04-09 22 views
6

Cố gắng sử dụng cordova 2.0.0 và sử dụng mã này để kiểm tra kết nối internetkiểm tra kết nối internet của thiết bị sử dụng 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]); 
} 

nhưng nhận được lỗi trên dòng này

network = navigator.network.connection.type; 

và lỗi là :

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

Bạn có lỗi nhỏ trong mã. Nó nên được cảnh báo ('Kiểu kết nối:' + tiểu bang [mạng]) – wmfairuz

+0

bắt tốt đó là sai lầm duy nhất hiện nay chức năng của tôi đang làm việc tốt THANKS – Erum

+0

onDeviceReady của nó không onDeviceReady() –

Trả lời

4

Bạn có sai sót nhỏ trong mã. Nó sẽ được cảnh báo ('Kiểu kết nối:' + trạng thái [mạng]);

Bên cạnh đó, chắc chắn rằng bạn có các quyền:

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

API đã được thay đổi và bạn nên tham khảo navigator.connection.

network = navigator.connection.type; 

Sau đó, xem benka's answer

0

Tôi có vấn đề này với các phiên bản mới nhất của cordova. Tôi đã có các plugin mạng trong config.xml nhưng nó đã không được tải về vào thư mục plugins.

này cố định nó

cordova cắm thêm cordova-plugin-mạng-thông tin cordova xây dựng

Tên kho lưu trữ đã thay đổi trong trường hợp bạn đang sử dụng để:

cordova cắm thêm org.apache .cordova.network-information