Phonegap 2.1.0 Connection Detection in iOS

[I have been told that this is fixed in Cordova 2.2]

I was working on a PhoneGap application being developed and optimized over Android and iOS. Last I used PhoneGap was about an year ago, a lot has changed in the platform since then. Together with jQuery Mobile, I ended up with a neat little app.

When working on the final touches for  the apps, I ran into a problem: when I detected the internet connection in Android using navigator.network.connection.type, it was working fine (Connection.NONE reported as intended), however, it was not the same for iOS. I double checked the permissions in the Cordova.plist, everything looked fine. It turns out, if there is no connection, the type is “unknown” or Connection.UNKNOWN. So now I am checking for Connection.NONE and Connection.UNKNOWN.

[sourcecode language=”javascript”]
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var networkState = navigator.network.connection.type;
console.log(networkState);
if(networkState == Connection.NONE || networkState == Connection.UNKNOWN) {
alert("You need an active internet connection if you want to save and email the reports.");
}
}
[/sourcecode]

Also read...

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *