版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33323469/article/details/81330181
APIcloud实时监听手机网络状态,
上次遇到一个问题,是做一个视频播放的时候,要获取到当前网络状态,在wifi的网络下直接播放,不是wifi的网络下,提示用当前网络播放,确定就要播放,取消就不播放。弄了一下,遇到一个问题当wifi的时候能正常播放,而没wifi的时候你点击了播放确定后,播放了,你在帮wifi打开,这个时候提示的依然是你刚才获取的到网络,除非从新进入这个页面,
这就要做网络的实时监听。
代码很简单。
var connectionType;//全局中定义变量
apiready = function() {
connectionType = api.connectionType;
//下面这几行代码就为最关键的,实时监听你网络的变化,来改变connectionType的
//值,从而解决了舒心页面的问题
api.addEventListener({
name: 'online'
}, function(ret, err) {
connectionType = ret.connectionType;
});
api.addEventListener({
name: 'offline'
}, function(ret, err) {
connectionType = "";
toast('网络无连接!');
});
}
比如我们下面有一个播放或者跟网络相关的代码,播放为例
function openPlay() {
if(connectionType=='wifi' ){
//播模块
DDVplay.ddvplay({
vx: 0,
vy: 69,
vw: api.winWidth,
vh: 200,
vieurl: vieurl,//视频播放连接
})
}else if(connectionType == "4G" || connectionType == "3G" || connectionType == "2G"){
//一个弹出提示框,标题,提示内容,一个取消按钮和一个确定按钮,根据自己的需要自己去找一个或者写有个
showDialog("温馨提示", "你当前正在使用" + connectionType + "网络,是否继续播放?", "取消", "确定",function(ret, err){
document.getElementById('box').style.background = '#000';
DDVplay.ddvplay({
vx: 0,
vy: 69,
vw: api.winWidth,
vh: 200,
vieurl: vieurl,//视频播放连接
})
})
}
}