Android 广播监听网络状态详解及实例代码
Android广播监听网络状态
我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断。
这时候,我们一般情况下,两种方式进行处理。
第一:开启服务。
第二:发送广播的形式。
建议采用方法二。
源代码如下:
广播:
/** *有网络的广播 */ BroadcastReceiverconnectionReceiver=newBroadcastReceiver(){ @Override publicvoidonReceive(Contextcontext,Intentintent){ ConnectivityManagerconnectMgr=(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE); NetworkInfomobNetInfo=connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfowifiNetInfo=connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(!mobNetInfo.isConnected()&&!wifiNetInfo.isConnected()){ Log.i("yuyahao","断网了"); Messagemsg=newMessage(); msg.what=DownLoadFileUtil.isNetConnectionError; mHandler.sendMessage(msg); //unconnectnetwork }else{ //connectnetwork Log.i(TAG,"有来网了"); } } };
注册:
//有网络的时候在注册网络监听广播 IntentFilterintentFilter=newIntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(connectionReceiver,intentFilter); showDialog(); pool.execute(mUpdateUIThread);
其完整的代码如下:
方法1就是开启service的方式。代码很简单。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!