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的方式。代码很简单。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:Android仿QQ微信实时监测网络状态Android BroadcastReceiver实现网络状态实时监听Android检查网络状态工具类详解android 监听网络状态的变化及实战的示例代码Android判断网络状态的代码Android 判断网络状态及开启网路Android 监听网络状态方法详解Android 判断网络状态实例详解Android中利用NetworkInfo判断网络状态时出现空指针(NullPointerException)问题的解决方法Android使用观察者模式Observer实现网络状态监听