Android 广播监听网络状态
16lz
2021-01-23
我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断。
这时候,我们一般情况下,两种方式进行处理。
第一: 开启服务。
第二:发送广播的形式。
建议采用方法二。
源代码如下:
广播:
/** * 有网络的广播 */BroadcastReceiverconnectionReceiver = new BroadcastReceiver() {@Overridepublic 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 networkLog.i(TAG, "有来网了");}}};
注册:
//有网络的时候在注册网络监听广播IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);registerReceiver(connectionReceiver, intentFilter);showDialog();pool.execute(mUpdateUIThread);其完整的代码如下:
方法1就是开启service的方式。代码很简单。
更多相关文章
- Hero,flytouch(飞触),智器等android系统pad和phone连接adhoc无线
- android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略
- android优化 清除无效代码 UCDetector
- Android HAL 层框架分析以及代码示例
- Android init源代码分析(1)概要分析
- Android设备之间通过Wifi通信的示例代码
- Android ActionBar的源代码分析(三)