I have tried following this guide on Cordova docs, but it doesn't seem to work.
Here is my code:
I have added <plugin name="NetworkStatus" value="CDVConnection" />
to config.xml
.
and this script to my index.html
:
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
alert("1"); // runs this alert
checkConnection();
}
function checkConnection() {
var networkState = Connection.CELL;
alert("2"); // doesn't run this
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.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
</script>
var networkState = Connection.CELL;
seems to cause the problem as it doesn't run the following alert, I have also tried navigator.connection.type
but the same thing happened.
When I run the app in Chrome the console outputs the following error:
Uncaught ReferenceError: Connection is not defined
Anybody know how to solve this problem?
Cheers
networkInfo function will return info about current network connection once button is clicked. We are calling type method. The other functions are onOffline and onOnline.
Effective immediately, App Center will no longer offer the option to create Apache Cordova apps through the portal, CLI or API. Starting April 1, 2022, the App Center service will no longer accept calls from the Cordova SDK.
The Network Information plugin provides access to network data on a device, such as connection type or when the device comes online or offline.
I finally solved the problem!! - by starting all over again from scratch and doing the following:
Command line:
sudo npm install -g cordova
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add ios
cordova platforms ls //This will list ios
cordova plugin add org.apache.cordova.network-information
cordova build
Then drag my files (HTML, Javascript etc) into the platforms/ios/www/
folder.
Open up hello.xcodeproj
in xcode.
Edit config.xml and add the lines:
<feature name="NetworkStatus">
<param name="ios-package" value="CDVConnection" />
</feature>
Then in my index file I used the JavaScript:
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
function onDeviceReady() {
if(navigator.network.connection.type == Connection.NONE){
alert("nocon");
}else{
alert("yescon");
}
}
</script>
Then run it in the iPhone / iPad simulator and it will output "yescon" if there is a connection and "nocon" if there isn't!!
Hope this helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With