以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何在手机端程序中定时执行某个操作,如每10分钟判断网络内外网连接状况  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132235)

--  作者:sjx71
--  发布时间:2019/3/17 21:20:00
--  [求助]如何在手机端程序中定时执行某个操作,如每10分钟判断网络内外网连接状况
[求助]如何在手机端程序中定时执行某个操作,如每10分钟判断网络内外网连接状况

由于网络设计问题,手机端程序连到公司内网WiFi时,只能通过公司内网IP连接服务器,

在4G网络和外网WiFi环境下只能通过外网IP连接服务器,

有时内外网切换出现问题,程序出现掉线问题。

怎么在手机端定时执行程序,判断网络内外网连接状况,并执行相应的切换。

谢谢老师


--  作者:有点甜
--  发布时间:2019/3/18 10:23:00
--  

ping一下

 

http://www.foxtable.com/webhelp/scr/2709.htm

 

定时,参考

 

http://www.foxtable.com/webhelp/scr/0657.htm

 


--  作者:sjx71
--  发布时间:2019/3/18 10:46:00
--  
甜老师,我是想在手机端的程序内 定时执行 判断网络状况的操作,应该在哪里写这段程序,怎么写

我是用 HBuilder 对程序打包封装 做成了 apk ,在安卓手机上安装的。

谢谢

--  作者:有点甜
--  发布时间:2019/3/18 11:55:00
--  

参考js代码,下面代码可以检测连接情况,你再加一个计时器即可。

 

  <script type="text/javascript">
document.addEventListener(\'plusready\', function(){
var xhr = new plus.net.XMLHttpRequest();
xhr.onreadystatechange = function () {
 switch ( xhr.readyState ) {
  case 0:
   //alert( "xhr请求已初始化" );
  break;
  case 1:
   //alert( "xhr请求已打开" );
  break;
  case 2:
   //alert( "xhr请求已发送" );
  break;
  case 3:
   //alert( "xhr请求已响应");
   break;
  case 4:
   if ( xhr.status == 200 ) {
    alert( "xhr请求成功:"+xhr.responseText );
    location = "http://www.baidu.com/";
   } else {
    alert( "xhr请求失败:"+xhr.readyState );
    location = "内外地址";
   }
   break;
  default :
   break;
 }
}
xhr.open( "GET", "http://www.baidu.com/" );
xhr.send();
}, false );
  </script>