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也不例外)有三种通信模式:单播、广播、组播(又叫多播, 个人感觉叫多播描述的有点不恰当),其中多播出现的时间最晚,但同时具备单播和广播的优点,最具有发展前景。 一.通信方式分类: