1. 程式人生 > >APIcloud實時監聽手機網路狀態,

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,//視訊播放連線 }) }) } }