IT虾米网

Android 网络工具类详解

flyfish 2018年06月23日 手机开发 389 0
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;    
    }    
 
}

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Android 开发中的一些小技巧详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。