当前位置: 首页 > 编程笔记 >

Android 广播监听网络状态详解及实例代码

邴修远
2023-03-14
本文向大家介绍Android 广播监听网络状态详解及实例代码,包括了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 监听网络状态方法详解,包括了Android 监听网络状态方法详解的使用技巧和注意事项,需要的朋友参考一下 Android 监听网络状态方法详解 一.加入网络权限 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 二.判断手机网络的几个方案 1)判断是否有网络连接 2)判断WIFI网络是否可用  4)获取当前网络连接的类型信息 在开发and

  • 本文向大家介绍android 监听网络状态的变化及实战的示例代码,包括了android 监听网络状态的变化及实战的示例代码的使用技巧和注意事项,需要的朋友参考一下 平时我们在请求错误的情况下,通常会进行处理一下,一般来说,主要分为两方面的错误 没有网络的错误 在有网络的情况下,我们客户端的错误或者服务器端的错误 今天这篇博客主要阐述以下问题 怎样监听网络状态的变化,包括是否打开WiFi,否打开数据

  • 本文向大家介绍Android 动态注册监听网络变化实例详解,包括了Android 动态注册监听网络变化实例详解的使用技巧和注意事项,需要的朋友参考一下 Android 动态注册监听网络变化实例详解 新建一个BroadcastTest项目,然后修改MainActivity中的代码,如下: 动态注册的广播接收器一定要取消注册才行,在onDestroy()方法中通过调用unregisterReceive

  • 本文向大家介绍Android BroadcastReceiver实现网络状态实时监听,包括了Android BroadcastReceiver实现网络状态实时监听的使用技巧和注意事项,需要的朋友参考一下 前言:最近公司项目重构,为了提高用户的体验,项目中要求添加当前网络状态的实时监听,以便在无网络状态时给用户友好的提醒并修改UI界面。本文将介绍使用四大组件之一的BroadcastReceiver实

  • 本文向大家介绍Android 监听软键盘状态的实例详解,包括了Android 监听软键盘状态的实例详解的使用技巧和注意事项,需要的朋友参考一下 Android 监听软键盘状态的实例详解 近日遇到要检测软键盘是否显示或隐藏的问题,搜了一下网上,最后找到一个很简单的,记录一下。 activityRoot是activity的根view,就是xml里面的第一个view,给它设置一个id. 但是这个依赖于A

  • 本文向大家介绍java 单播、广播、组播详解及实例代码,包括了java 单播、广播、组播详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 java 单播、广播、组播详解及实例代码 在当前网络通信中(TCP/IP也不例外)有三种通信模式:单播、广播、组播(又叫多播, 个人感觉叫多播描述的有点不恰当),其中多播出现的时间最晚,但同时具备单播和广播的优点,最具有发展前景。    一.通信方式分类: