欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 广播监听网络状态详解及实例代码

程序员文章站 2023-12-18 09:09:22
android 广播监听网络状态 我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,...

android 广播监听网络状态

我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断。

这时候,我们一般情况下,两种方式进行处理。

第一: 开启服务。
第二:发送广播的形式。

建议采用方法二。

源代码如下:

广播:

/** 
   * 有网络的广播 
   */ 
  broadcastreceiver  connectionreceiver = new broadcastreceiver() { 
    @override 
    public void onreceive(context context, intent intent) { 
      connectivitymanager connectmgr = (connectivitymanager) getsystemservice(connectivity_service); 
      networkinfo mobnetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_mobile); 
      networkinfo wifinetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_wifi); 
      if (!mobnetinfo.isconnected() && !wifinetinfo.isconnected()) { 
        log.i("yuyahao", "断网了"); 
        message msg = new message(); 
        msg.what = downloadfileutil.isnetconnectionerror; 
        mhandler.sendmessage(msg); 
        // unconnect network 
      }else { 
        // connect network 
        log.i(tag, "有来网了"); 
      } 
    } 
  }; 

注册:

//有网络  的时候在注册网络监听广播 
      intentfilter intentfilter = new intentfilter(); 
      intentfilter.addaction(connectivitymanager.connectivity_action); 
      registerreceiver(connectionreceiver, intentfilter); 
      showdialog(); 
      pool.execute(mupdateuithread); 

其完整的代码如下:

方法1就是开启service的方式。代码很简单。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:

下一篇: