【android 中判断WiFi是否可用的可靠方法 ,android 是否联网】古人已用三冬足,年少今开万卷余。这篇文章主要讲述android 中判断WiFi是否可用的可靠方法 ,android 是否联网相关的知识,希望能为你提供帮助。
http://alex-yang-xiansoftware-com.iteye.com/blog/619841
在一些程序中,需要从网上下载数据,或者通过其他方式对网络产生流量,当wifi不可用时应该提示用户wifi已经不可用了,是否继续,因为如果wifi掉了,那么程序可能采用3G卡或其他的收费的渠道使用网络,会导在不知情时产生大量的上网费用。通过查看android的api可使用下列方法进行判断:
- public static boolean isWiFiActive(Context inContext) {
- Context context = inContext.getApplicationContext();
- WifiManager wifiManager = (WifiManager) context
- .getSystemService(Context.WIFI_SERVICE);
- return wifiManager.isWifiEnabled();
- }
在模拟器上使用这个方法时,可以正确判断wifi是否可用,但是在真机上就判断不出来。wifi是断开的,但是返回的结果true,造成wifi判断不准确。经过尝试可使用如下的方法判断方能正确:
- public static boolean isWiFiActive(Context inContext) {
- Context context = inContext.getApplicationContext();
- ConnectivityManager connectivity = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- if (connectivity != null) {
- NetworkInfo[] info = connectivity.getAllNetworkInfo();
- if (info != null) {
- for (int i = 0; i < info.length; i++) {
- if (info[i].getTypeName().equals("WIFI") & & info[i].isConnected()) {
- return true;
- }
- }
- }
- }
- return false;
- }
推荐阅读
- Android图表库MPAndroidChart——换一种思考方式,水平条形图的实现过程
- 安卓面试1
- Android开发使用的常见第三方框架
- android-自定义广告轮播Banner(无限循环实现)
- android ContentObserver
- Android 侧滑菜单与ActionBar和ShareActionProvider演示
- Android OkHttp使用与分析
- Android NDK, No rule to make target
- Android 实现QQ第三方登录