展会信息港展会大全

Android判断WiFi是否可用的可靠方法
来源:互联网   发布日期:2015-09-28 16:05:15   浏览:2045次  

导读:当wifi不可用时应该提示用户wifi已经不可用了,是否继续,因为如果wifi 掉了,那么程序可能采用3G卡或其他的收费的渠道使用网络,会导在不知情时产生大量的上网费用,本文为大家介绍了实现之一功能的可靠方法。在一 ...

当wifi不可用时应该提示用户wifi已经不可用了,是否继续,因为如果wifi 掉了,那么程序可能采用3G卡或其他的收费的渠道使用网络,会导在不知情时产生大量的上网费用,本文为大家介绍了实现之一功能的可靠方法。

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

Java代码

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判 断不准确。经过尝试可使用如下的方法判断方能正确:

Java代码

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;

}

赞助本站

人工智能实验室

相关热词: 判断WiFi是否可用

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港