java android网络监测详解编程语言

public class NetworkCheck { 
    /**   
     * 网络是否可用   
     */ 
    public static boolean isNetworkAvailable(Context context) {    
        ConnectivityManager connectivity = (ConnectivityManager) context    
                    .getSystemService(Context.CONNECTIVITY_SERVICE);    
        if (connectivity == null) {    
        } else {    
            NetworkInfo[] info = connectivity.getAllNetworkInfo();    
            if (info != null) {    
                for (int i = 0; i < info.length; i++) {    
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {    
                        return true;    
                    }    
                }    
            }    
        }    
        return false;    
    }    
 
    /**   
     * 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); 
    } 
 
     /**   
     * 判断当前网络是否是wifi网络   
     * if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) { //判断3G网   
     *    
     * @param context   
     * @return boolean   
     */   
    public static boolean isWifi(Context context) {    
        ConnectivityManager connectivityManager = (ConnectivityManager) context    
                .getSystemService(Context.CONNECTIVITY_SERVICE);    
        NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();    
        if (activeNetInfo != null   
                && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {    
            return true;    
        }    
        return false;    
    }    
 
    /**   
     * 判断当前网络是否是3G网络   
     *    
     * @param context   
     * @return boolean   
     */   
    public static boolean is3G(Context context) {    
        ConnectivityManager connectivityManager = (ConnectivityManager) context    
                .getSystemService(Context.CONNECTIVITY_SERVICE);    
        NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();    
        if (activeNetInfo != null   
                && activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) {    
            return true;    
        }    
        return false;    
    }    
 
} 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10400.html

(0)
上一篇 2021年7月19日 10:12
下一篇 2021年7月19日 10:12

相关推荐

发表回复

登录后才能评论