在一些程序中,需要从网上下载数据,或者通过其他方式对网络产生流量,当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;}

更多相关文章

  1. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  2. Android(安卓)BLE 蓝牙编程(一)
  3. Android(安卓)ActivityManagerService(AMS)的进程管理
  4. Android中widget编写注意事项——1(程序成功执行Done却没有widget
  5. Running Your App运行您的应用程序
  6. 30个高质量并且免费的Android图标【Android(安卓)Icon素材】
  7. android中Toast重复显示bug解决方法
  8. 我的Android(安卓)NDK之旅(一),不使用ndk-build命令来创建jni
  9. android Asynctask的优缺点?能否同时并发100+asynctask呢?

随机推荐

  1. android 获取IP地址
  2. 【Android】移动GIS开发必备(文档、帮助、
  3. Android——实现两个控件水平居中
  4. android控件EditText
  5. android 2.2 apidemos 赏析笔记 2
  6. android animaltion Interpolator使用
  7. 笔记 android 代码中设置Android:layout_
  8. 获取RadioButton选中的值
  9. android之layout_weight使用
  10. Android(安卓)Animation(API Guides翻译)