Connexion
L'objet
connection, disponible vianavigator.connection, fournit des informations sur la connection cellulaire/wifi de l'appareil.
Propriétés
Constantes
- Connection.UNKNOWN
- Connection.ETHERNET
- Connection.WIFI
- Connection.CELL_2G
- Connection.CELL_3G
- Connection.CELL_4G
- Connection.CELL
- Connection.NONE
Accéder à la fonctionnalité
Depuis la version 3.0, Cordova implémente les API liées à l'appareil en tant que plugins. Utiliser la commande plugin de l'Interface en Ligne de Commande, décrite dans la section intitulée L'Interface en Ligne de Commande, afin d'ajouter ou retirer cette fonctionnalité à un projet :
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
$ cordova plugin rm org.apache.cordova.core.network-information
Ces commandes s'appliquent à toutes les plates-formes ciblées mais modifient les paramètres de configuration spécifiques aux différentes plates-formes tel que décrit ci-dessous :
-
Android
(in app/res/xml/config.xml) <feature name="NetworkStatus"> <param name="android-package" value="org.apache.cordova.NetworkManager" /> </feature> (in 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" /> -
BlackBerry WebWorks
(in www/plugins.xml) <feature name="Network Status"> <param name="blackberry-package" value="org.apache.cordova.network.Network" /> </feature> -
iOS (en
config.xml)<feature name="NetworkStatus"> <param name="ios-package" value="CDVConnection" /> </feature> -
Windows Phone (en
Properties/WPAppManifest.xml)<Capabilities> <Capability Name="ID_CAP_NETWORKING" /> </Capabilities>Référence : manifeste d'Application pour Windows Phone
-
Paciarelli (dans
config.xml)<feature name="http://tizen.org/api/systeminfo" required="true"/>Référence : manifeste d'Application pour l'Application Web paciarelli
Certaines plates-formes peuvent prendre en charge cette fonctionnalité sans nécessiter aucune configuration spéciale. Voir plate-forme prise en charge pour une vue d'ensemble.
connection.type
Vérifie la connexion réseau en cours d'activité.
Description
Cette propriété offre un moyen rapide pour déterminer l'état et le type de la connexion réseau de l'appareil.
Plates-formes supportées
- iOS
- Android
- BlackBerry WebWorks (OS 5.0 et plus)
- Paciarelli
- Windows Phone 7 et 8
- Windows 8
Exemple court
function checkConnection() {
var networkState = navigator.connection.type;
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]);
}
checkConnection();
Exemple complet
<!DOCTYPE html>
<html>
<head>
<title>navigator.connection.type Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
checkConnection();
}
function checkConnection() {
var networkState = navigator.connection.type;
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>
</head>
<body>
<p>A dialog box will report the network state.</p>
</body>
</html>
Changement d'API
Jusqu'à Cordova 2.3.0, l'objet Connection était accessible via navigator.network.connection ; ceci a été changé pour navigator.connection afin de concorder avec la spécification du W3C. L'accès est toujours possible à l'emplacement d'origine, mais est considéré comme obsolète et sera bientôt supprimé.
Notes au sujet d'iOS
- iOS ne permet pas de détecter le type de connexion pour un réseau cellulaire.
-
navigator.connection.typeis set toConnection.CELLfor all cellular data.
-
Notes au sujet de Windows Phone
When running in the emulator, always detects
navigator.connection.typeasConnection.UNKNOWN.-
Windows Phone ne permet pas de détecter le type de connexion pour un réseau cellulaire.
-
navigator.connection.typeis set toConnection.CELLfor all cellular data.
-
Notes au sujet de Paciarelli
- Paciarelli peut uniquement détecter une connexion cellulaire ou bien WiFi.
-
navigator.connection.typeis set toConnection.CELL_2Gfor all cellular data.
-