/**
* 判断当前连接方式是否是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;
}