연결
connection개체를 통해 노출navigator.connection, 소자의 셀룰러와 와이파이 연결에 대 한 정보를 제공 합니다.
속성
상수
- Connection.UNKNOWN
- Connection.ETHERNET
- Connection.WIFI
- Connection.CELL_2G
- Connection.CELL_3G
- Connection.CELL_4G
- Connection.CELL
- Connection.NONE
기능 액세스
버전 3.0, 코르도바 플러그인으로 장치 수준 Api를 구현합니다. CLI의 사용 plugin 명령 설명에 명령줄 인터페이스를 추가 하거나 프로젝트에 대 한이 기능을 제거 하려면:
$ 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
이 명령은 모든 타겟된 플랫폼에 적용 하지만 플랫폼 관련 구성 설정을 아래에 설명 된 수정:
-
안 드 로이드
(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" /> -
블랙베리 WebWorks
(in www/plugins.xml) <feature name="Network Status"> <param name="blackberry-package" value="org.apache.cordova.network.Network" /> </feature> -
(iOS
config.xml)<feature name="NetworkStatus"> <param name="ios-package" value="CDVConnection" /> </feature> -
(Windows Phone
Properties/WPAppManifest.xml)<Capabilities> <Capability Name="ID_CAP_NETWORKING" /> </Capabilities> -
(Tizen
config.xml)<feature name="http://tizen.org/api/systeminfo" required="true"/>
일부 플랫폼은 특별 한 구성이 필요 없이이 기능을 지원할 수 있습니다. 플랫폼 지원에 대 한 참조.
connection.type
현재 활성 네트워크 연결을 확인합니다.
설명
이 디바이스의 네트워크 연결 상태를 확인 하는 빠른 방법을 제공 합니다 및 연결의 종류.
지원 되는 플랫폼
- iOS
- 안 드 로이드
- 블랙베리 WebWorks (운영 체제 5.0와 더 높은)
- Tizen
- Windows Phone 7과 8
- 윈도우 8
빠른 예제
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();
전체 예제
<!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>
API 변경
코르 도우 바 2.3.0까지 Connection 개체를 통해 액세스 했습니다 navigator.network.connection , 후에 변경 된 navigator.connection W3C 사양에 맞게. 그것은 그것의 원래 위치에 계속 사용할 수 하지만 사용 되지 않습니다 및 결국 제거 될 것 이다.
iOS 단점
- iOS는 셀룰러 네트워크 연결의 종류를 감지할 수 없습니다.
-
navigator.connection.typeis set toConnection.CELLfor all cellular data.
-
Windows Phone 단점
When running in the emulator, always detects
navigator.connection.typeasConnection.UNKNOWN.-
Windows Phone 셀룰러 네트워크 연결 유형을 검색할 수 없습니다.
-
navigator.connection.typeis set toConnection.CELLfor all cellular data.
-
Tizen 특수
- Tizen은 와이파이 또는 휴대 전화 연결에만 검색할 수 있습니다.
-
navigator.connection.typeis set toConnection.CELL_2Gfor all cellular data.
-