在无网或网速差的状态下,没必要去连接服务器。
你可以使用 ConnectivityManager 来判断是否连到网络,以及网络类型。
判断是否有网络连接
下面的代码用ConnectivityManager查询是活动网络连接判断是否有Internet连接。
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
判断Internet连接类型
连接类型可能是移动数据,WiMax,WIFI,以太网。可以通过类似下面的方法查询网络类型:
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
移动数据比WIFI耗电,应该注意。下载大文件应该延迟到有wifi以后。
监听连接改变
ConnectivityManager会在连接改变时发送广播”android.net.conn.CONNECTIVITY_CHANGE”,所以,注册,监听一下这个广播就可以:
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
本文向大家介绍Android中判断网络连接状态的方法,包括了Android中判断网络连接状态的方法的使用技巧和注意事项,需要的朋友参考一下 App判断用户是否联网是很普遍的需求,实现思路大概有下面几种 利用Android自带的ConnectivityManager类 有时候连上了wifi,但这个wifi是上不了网的,我们可以通过ping www.baidu.com来判断是否可以上网 也可以利用ge
本文向大家介绍Android编程监听网络连接状态改变的方法,包括了Android编程监听网络连接状态改变的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程监听网络连接状态改变的方法。分享给大家供大家参考,具体如下: BroadcastReceiver 在清单文件中注册 BroadcastReceiver 要读取网络状态记得要加权限 更多关于Android相关内容感兴趣
本文向大家介绍Android 实时监测(监听)网络连接状态变化,包括了Android 实时监测(监听)网络连接状态变化的使用技巧和注意事项,需要的朋友参考一下 看了网上的很多,都不是自己想要的。所以自己就参考着写了一个。 实现这个的方法很多,我是想的这种,如果哪有不足,有bug的地方希望大家指出,共同进步。。。。 先简单说一下思路:网络变化时系统会发出广播。所以我们监听这个广播,利用接口回调通知a
本文向大家介绍Android 监听网络状态方法详解,包括了Android 监听网络状态方法详解的使用技巧和注意事项,需要的朋友参考一下 Android 监听网络状态方法详解 一.加入网络权限 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 二.判断手机网络的几个方案 1)判断是否有网络连接 2)判断WIFI网络是否可用 4)获取当前网络连接的类型信息 在开发and
本文向大家介绍Android判断和监听底座状态和类型的方法介绍,包括了Android判断和监听底座状态和类型的方法介绍的使用技巧和注意事项,需要的朋友参考一下 底座的状态跟充电状态类似,很多底座提供充电功能(座充). 底座状态同样使用sticky Intent广播。可以查询设备是否插入底座,哪种底座。 判断当前底座状态 广播的Action是ACTION_DOCK_EVENT,sticky Inte
本文向大家介绍Android BroadcastReceiver实现网络状态实时监听,包括了Android BroadcastReceiver实现网络状态实时监听的使用技巧和注意事项,需要的朋友参考一下 前言:最近公司项目重构,为了提高用户的体验,项目中要求添加当前网络状态的实时监听,以便在无网络状态时给用户友好的提醒并修改UI界面。本文将介绍使用四大组件之一的BroadcastReceiver实