我们在做多线程下载的时候,或者是在加载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的方式。代码很简单。



更多相关文章

  1. Hero,flytouch(飞触),智器等android系统pad和phone连接adhoc无线
  2. 从0系统学Android--5.1 广播机制
  3. android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略
  4. Android应用程序注册广播接收器(registerReceiver)的过程分析
  5. Android(安卓)Layout布局文件里的android:layout_height等属性为
  6. Android(安卓)Layout布局文件里的android:layout_height等属性为
  7. 用C#开发了一个Android(安卓)浏览器APP
  8. Android通过USB与PC通信
  9. Android(安卓)-- Layout布局文件里的android:layout_height等属

随机推荐

  1. Android(安卓)Base64编码
  2. Android,HTTP请求中文乱码
  3. 触摸按键Android的驱动解析
  4. android朋友圈监听键盘状态 点击空白区域
  5. android 获取当前系统的语言
  6. android AlertDialog自定义大小
  7. android悬浮球,应用在所有软件之上,点击可
  8. android RecyclerView 设置设置选中的一
  9. Android(安卓)getWindow().setFlags方法
  10. Android实现图片预览浏览功能