mui中判断网络连接和监听变化的代码段
2017-02-28 本文已影响1287人
觉子先生
//获取当前设备的网络类型
function plusReady() {
var types = {};
types[plus.networkinfo.CONNECTION_UNKNOW] = "Unknown connection";
types[plus.networkinfo.CONNECTION_NONE] = "None connection";
types[plus.networkinfo.CONNECTION_ETHERNET] = "Ethernet connection";
types[plus.networkinfo.CONNECTION_WIFI] = "WiFi connection";
types[plus.networkinfo.CONNECTION_CELL2G] = "Cellular 2G connection";
types[plus.networkinfo.CONNECTION_CELL3G] = "Cellular 3G connection";
types[plus.networkinfo.CONNECTION_CELL4G] = "Cellular 4G connection";
alert("Network: " + types[plus.networkinfo.getCurrentType()]);
}
if (window.plus) {
plusReady();
} else {
document.addEventListener("plusready", plusReady, false);
}
mui.plusReady(function() {
document.addEventListener("netchange", onNetChange, false);
//获取当前网络类型
function onNetChange() {
var nt = plus.networkinfo.getCurrentType();
switch (nt) {
case plus.networkinfo.CONNECTION_ETHERNET:
case plus.networkinfo.CONNECTION_WIFI:
mui.toast("当前网络为WiFi");
break;
case plus.networkinfo.CONNECTION_CELL2G:
case plus.networkinfo.CONNECTION_CELL3G:
case plus.networkinfo.CONNECTION_CELL4G:
mui.toast("当前网络非WiFi");
break;
default:
mui.toast("当前没有网络");
break;
}
}
});
// 这段代码有疑问,plus.networkinfo.getCurrentType()的值出来是数字吗?且在这放着
document.addEventListener("netchange", function() {
var network = plus.networkinfo.getCurrentType();
if(network < 2) {
if(this.network > 1) {
plus.nativeUI.toast('您的网络已断开', undefined, '期待乐');
}
}
if(this.network == 3 && network > 3) {
plus.nativeUI.toast('您网络已从wifi切换到蜂窝网络,浏览会产生流量', undefined, '期待乐', '我知道了');
}
this.network=network;
});