黑马程序员技术交流社区

标题: 【上海校区】APIcloud实时监听手机网络状态, [打印本页]

作者: 梦缠绕的时候    时间: 2018-8-2 09:45
标题: 【上海校区】APIcloud实时监听手机网络状态,

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,//视频播放连接              })            })          }    }

作者: 不二晨    时间: 2018-8-2 17:34
奈斯,棒棒哒




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2