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的方式。代码很简单。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!