判断wifi连接是否可用
2015-01-27 17:52
155 查看
/**
* 判断当前连接方式是否是WIFI连接
*
* @param context
* @return
*/
private static boolean isWifiConnected(Context context)
{
return getNetworkState(context, ConnectivityManager.TYPE_WIFI) == State.CONNECTED;
}
/**
* 获取连接状态
*
* @param context
* @param networkType
* @return
*/
private static State getNetworkState(Context context, int networkType)
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(networkType);
return info == null ? null : info.getState();
}
对于正常的WIFI网络判断,以上方法是可以有效的。但是现在小米系统可以通过小米助手来共享PC网络,对于这种网络上面的方法就失效,那么我们就可以采用以下方法来判断网络状态:
/*
* 判断Wifi是否可用
*
* @return true表示有Wifi且可用,如果系统返回false表示Wifi功能不可用
*/
public static boolean isWifi()
{
WifiManager wifiMan = (WifiManager) MaxApplication.getInstance().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMan.getConnectionInfo();
if (wifiInfo != null)
{
if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == DetailedState.OBTAINING_IPADDR
|| WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == DetailedState.CONNECTED)
{
return true;
}
}
return false;
}
* 判断当前连接方式是否是WIFI连接
*
* @param context
* @return
*/
private static boolean isWifiConnected(Context context)
{
return getNetworkState(context, ConnectivityManager.TYPE_WIFI) == State.CONNECTED;
}
/**
* 获取连接状态
*
* @param context
* @param networkType
* @return
*/
private static State getNetworkState(Context context, int networkType)
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(networkType);
return info == null ? null : info.getState();
}
对于正常的WIFI网络判断,以上方法是可以有效的。但是现在小米系统可以通过小米助手来共享PC网络,对于这种网络上面的方法就失效,那么我们就可以采用以下方法来判断网络状态:
/*
* 判断Wifi是否可用
*
* @return true表示有Wifi且可用,如果系统返回false表示Wifi功能不可用
*/
public static boolean isWifi()
{
WifiManager wifiMan = (WifiManager) MaxApplication.getInstance().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMan.getConnectionInfo();
if (wifiInfo != null)
{
if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == DetailedState.OBTAINING_IPADDR
|| WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == DetailedState.CONNECTED)
{
return true;
}
}
return false;
}
相关文章推荐
- Android判断网络连接是否可用,WiFi、移动数据是否打开等
- android中判断网络连接是否可用 2g、3g、wifi
- Android中判断有无可用网络(是否是3G或者WIFI网络)
- android 程序中判断当前是否连接网络,网络是否可用
- Android判断网络连接是否可用(代码)
- Android中判断网络连接是否可用
- Android 判断网络连接是否可用
- Adnroid判断Wifi是否开启及连接到网络
- Android中判断网络连接是否可用及监控网络状态
- Android判断网络连接是否可用(代码)
- Android中判断网络连接是否可用
- [Android实例] 判断网络是否连接,然后选择网络类型(比如wifi等)来连接网络
- WindowMobile如何判断网络有没连接和如何判WebService服务器地址是否正确(wifi有无打开)
- Android中判断网络连接是否可用及监控网络状态
- Android判断GPS、wifi、移动网络是否可用的探知函数
- Android 判断当前网络连接是否可用、打开设置网络界面
- ANDROID中判断网络连接是否可用
- Android中判断网络连接是否可用
- android中判断网络连接是否可用
- android中判断网络连接是否可用