APIcloud实时监听手机网络状态,

版权声明:本文为博主原创文章,未经博主允许不得转载。 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,//视频播放连接
              })
            })

          }
    }

猜你喜欢

转载自blog.csdn.net/qq_33323469/article/details/81330181