时间:2020-03-20 14:13:35 | 栏目: | 点击:次
在使用html5配合cordova做webapp时,有时需要实时监测手机的网络 状况。html5里面是没有相关的js的,这时就需要在cordova里找相关插件了。这里介绍使用cordova network-information 插件监听手机网络状态。
1、在cordova中文网http://cordova.axuer.com/,的插件里搜索 "network-information",如下图:

会在页面下方出现该插件的网址:cordova-plugin-network-information
二、使用插件
1、安装插件
在项目文件-》app文件下使用cmd调出命令框,安装 cordova plugin add cordova-plugin-network-information
2、插件应用
2-1,得到当前网络状态:
var networkState = navigator.connection.type;networkState的返回值(网络的状态):
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';
状态值分别代表:
UNKNOWN = '未知连接' ; ETHERNET = '以太网连接' ; WIFI = ' WiFi连接' ; CELL_2G = '小区2G连接' ; CELL_3G = '小区3G连接' ; CELL_4G ]= '单元格4G连接' ; CELL = '单元格通用连接' ; NONE = '没有网络连接' ;2-2,监听手机失去网络连接
document.addEventListener("offline", callbackfunction, false);
2-3,监听手机收到网络连接以允许应用程序访问互联网
document.addEventListener("online", callbackfunction, false);
3,具体示例
var networkFlag = true;// 默认手机联网
var networkState = navigator.connection.type;
if(networkState=='none'){// 无网
networkFlag = false;
}
document.addEventListener("offline", function(){ // 断网
networkFlag = false;
// 其它语句
}, false);
document.addEventListener("online", function(){ // 开启网络
networkFlag = true;
// 其它语句
}, false);