判断网络状态

来源:互联网 发布:电信网络经常掉线 编辑:程序博客网 时间:2024/06/06 02:22

首先在AndroidManifest.xml添加权限

<uses-permission Android:name="android.permission.ACCESS_NETWORK_STATE" />

// 判网络是连接
public class NetWorkUtils {

public static boolean isNetWorkConnection(Context context){       ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();        if(networkInfo != null){            return networkInfo.isAvailable();        }        return false;}

//判断wifi 是否可用

public boolean isWifiConnected(Context context) {    if (context != null) {        ConnectivityManager mConnectivityManager = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo mWiFiNetworkInfo = mConnectivityManager                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);        if (mWiFiNetworkInfo != null) {            return mWiFiNetworkInfo.isAvailable();        }    }    return false;} //* 判断手机网络是否连接public boolean isMobileConnected(Context context) {    if (context != null) {        ConnectivityManager mConnectivityManager = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo mMobileNetworkInfo = mConnectivityManager                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);        if (mMobileNetworkInfo != null) {            return mMobileNetworkInfo.isAvailable();        }    }    return false;}

//返回值 -1:没有网络 1:WIFI网络2:wap网络3:net网络
public static int GetNetype(Context context)
{
int netType = -1;
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if(networkInfo==null)
{
return netType;
}
int nType = networkInfo.getType();
if(nType==ConnectivityManager.TYPE_MOBILE)
{
if(networkInfo.getExtraInfo().toLowerCase().equals(“cmnet”))
{
netType = 3;
}
else
{
netType = 2;
}
}
else if(nType==ConnectivityManager.TYPE_WIFI)
{
netType = 1;
}
return netType;
}

}

1 0