码迷,mamicode.com
首页 > 移动开发 > 详细

android 中判断WiFi是否可用的可靠方法 ,android 是否联网

时间:2016-11-17 20:26:32      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:程序   ++   ice   数据   connect   不可用   tap   enabled   模拟   

http://alex-yang-xiansoftware-com.iteye.com/blog/619841

 

 

在一些程序中,需要从网上下载数据,或者通过其他方式对网络产生流量,当wifi不可用时应该提示用户wifi已经不可用了,是否继续,因为如果wifi掉了,那么程序可能采用3G卡或其他的收费的渠道使用网络,会导在不知情时产生大量的上网费用。通过查看android的api可使用下列方法进行判断:

  1. public static boolean isWiFiActive(Context inContext) {   
  2.         Context context = inContext.getApplicationContext();   
  3.         WifiManager wifiManager = (WifiManager) context   
  4.                 .getSystemService(Context.WIFI_SERVICE);   
  5.         return wifiManager.isWifiEnabled();   
  6.     }  

 

在模拟器上使用这个方法时,可以正确判断wifi是否可用,但是在真机上就判断不出来。wifi是断开的,但是返回的结果true,造成wifi判断不准确。经过尝试可使用如下的方法判断方能正确:

  1. public static boolean isWiFiActive(Context inContext) {   
  2.         Context context = inContext.getApplicationContext();   
  3.         ConnectivityManager connectivity = (ConnectivityManager) context   
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);   
  5.         if (connectivity != null) {   
  6.             NetworkInfo[] info = connectivity.getAllNetworkInfo();   
  7.             if (info != null) {   
  8.                 for (int i = 0; i < info.length; i++) {   
  9.                     if (info[i].getTypeName().equals("WIFI") && info[i].isConnected()) {   
  10.                         return true;   
  11.                     }   
  12.                 }   
  13.             }   
  14.         }   
  15.         return false;   
  16.     }  

 

android 中判断WiFi是否可用的可靠方法 ,android 是否联网

标签:程序   ++   ice   数据   connect   不可用   tap   enabled   模拟   

原文地址:http://www.cnblogs.com/chendu123/p/6074698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!