Connessione
Il
connectionoggetto, esposto tramitenavigator.connection, fornisce informazioni sulla connessione wifi e cellulare del dispositivo.
Proprietà
Costanti
- Connection.UNKNOWN
- Connection.ETHERNET
- Connection.WIFI
- Connection.CELL_2G
- Connection.CELL_3G
- Connection.CELL_4G
- Connection.CELL
- Connection.NONE
La funzionalità di accesso
A partire dalla versione 3.0, Cordova implementa le API a livello di dispositivo come plugin. Utilizzare la CLI plugin comando, descritto in Command-Line Interface, aggiungere o rimuovere questa funzionalità per un progetto:
$ 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
Questi comandi si applicano a tutte le piattaforme mirate, ma modificano le impostazioni di configurazione specifiche della piattaforma descritte di seguito:
-
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 (in
config.xml)<feature name="NetworkStatus"> <param name="ios-package" value="CDVConnection" /> </feature> -
Windows Phone (in
Properties/WPAppManifest.xml)<Capabilities> <Capability Name="ID_CAP_NETWORKING" /> </Capabilities>Riferimento: il manifesto dell'applicazione per Windows Phone
-
Tizen (in
config.xml)<feature name="http://tizen.org/api/systeminfo" required="true"/>Riferimento: il manifesto dell'applicazione per applicazione Web Tizen
Alcune piattaforme possono supportare questa funzionalità senza richiedere alcuna configurazione speciale. Per una panoramica, vedere supporto della piattaforma.
connection.type
Controlla la connessione di rete attualmente attiva.
Descrizione
Questa proprietà offre un modo rapido per determinare stato della connessione di rete del dispositivo e il tipo di connessione.
Piattaforme supportate
- iOS
- Android
- BlackBerry WebWorks (OS 5.0 e superiori)
- Tizen
- Windows Phone 7 e 8
- Windows 8
Esempio rapido
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();
Esempio completo
<!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>
Cambiamento di API
Fino a Cordova 2.3.0, il Connection oggetto era accessibile tramite navigator.network.connection , dopo che è stato cambiato in navigator.connection per abbinare la specifica W3C. È ancora disponibile nella sua posizione originale, ma è obsoleto e verrà rimosso alla fine.
iOS stranezze
- iOS non è possibile rilevare il tipo di connessione di rete cellulare.
-
navigator.connection.typeis set toConnection.CELLfor all cellular data.
-
Stranezze di Windows Phone
When running in the emulator, always detects
navigator.connection.typeasConnection.UNKNOWN.-
Windows Phone non riesce a rilevare il tipo di connessione di rete cellulare.
-
navigator.connection.typeis set toConnection.CELLfor all cellular data.
-
Tizen stranezze
- Tizen può rilevare solo un WiFi o una connessione cellulare.
-
navigator.connection.typeis set toConnection.CELL_2Gfor all cellular data.
-