美文网首页
判断手机网络状态

判断手机网络状态

作者: Sunny君907 | 来源:发表于2018-03-20 10:46 被阅读0次

一、判断网络连接是否可用

public static boolean isNetworkAvailable(Context context) {  

        ConnectivityManager cm = (ConnectivityManager) context  

                .getSystemService(Context.CONNECTIVITY_SERVICE);  

        if (cm == null) {  

} else {

//如果仅仅是用来判断网络连接

//则可以使用 cm.getActiveNetworkInfo().isAvailable();

            NetworkInfo[] info = cm.getAllNetworkInfo();  

            if (info != null) {  

                for (int i = 0; i < info.length; i++) {  

                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {  

                        return true;  

                    }  

                }  

            }  

        }  

        return false;  

    }

二、判断GPS是否打开

  public static boolean isGpsEnabled(Context context) {  

        LocationManager lm = ((LocationManager) context  

                .getSystemService(Context.LOCATION_SERVICE));  

        List accessibleProviders = lm.getProviders(true);  

        return accessibleProviders != null && accessibleProviders.size() > 0;  

    }

三、判断WIFI是否打开

 public static boolean isWifiEnabled(Context context) {  

        ConnectivityManager mgrConn = (ConnectivityManager) context  

                .getSystemService(Context.CONNECTIVITY_SERVICE);  

        TelephonyManager mgrTel = (TelephonyManager) context  

                .getSystemService(Context.TELEPHONY_SERVICE);  

        return ((mgrConn.getActiveNetworkInfo() != null && mgrConn  

                .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel  

                .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);  

    }

四、判断是否是3G网络

    public static boolean is3rd(Context context) {  

        ConnectivityManager cm = (ConnectivityManager) context  

                .getSystemService(Context.CONNECTIVITY_SERVICE);  

        NetworkInfo networkINfo = cm.getActiveNetworkInfo();  

        if (networkINfo != null  

                && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {  

            return true;  

        }  

        return false;  

    } 

五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

  public static boolean isWifi(Context context) {  

            ConnectivityManager cm = (ConnectivityManager) context  

                    .getSystemService(Context.CONNECTIVITY_SERVICE);  

            NetworkInfo networkINfo = cm.getActiveNetworkInfo();  

            if (networkINfo != null  

                    && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {  

                return true;  

            }  

            return false;  

        }

相关文章

网友评论

      本文标题:判断手机网络状态

      本文链接:https://www.haomeiwen.com/subject/wyalqftx.html