Android 广播监听网络状态详解及实例代码
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 广播监听网络状态详解及实例代码 的全部内容, 来源链接: utcz.com/z/337153.html