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