package com.yaoyumeng.v2ex.utils; import android.content.Context; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; public class NetWorkHelper { /** * 判断是不是wifi网络状态 * * @param paramContext * @return */ public static boolean isWifi(Context paramContext) { return "2".equals(getNetType(paramContext)[0]); } /** * 判断是不是2/3G网络状态 * * @param paramContext * @return */ public static boolean isMobile(Context paramContext) { return "1".equals(getNetType(paramContext)[0]); } public static boolean isNetAvailable(Context paramContext) { if ("1".equals(getNetType(paramContext)[0]) || "2".equals(getNetType(paramContext)[0])) { return true; } return false; } /** * 获取当前网络状态 返回2代表wifi,1代表2G/3G * * @param paramContext * @return */ public static String[] getNetType(Context paramContext) { String[] arrayOfString = { "Unknown", "Unknown" }; PackageManager localPackageManager = paramContext.getPackageManager(); if (localPackageManager.checkPermission( "android.permission.ACCESS_NETWORK_STATE", paramContext.getPackageName()) != 0) { arrayOfString[0] = "Unknown"; return arrayOfString; } ConnectivityManager localConnectivityManager = (ConnectivityManager) paramContext .getSystemService("connectivity"); if (localConnectivityManager == null) { arrayOfString[0] = "Unknown"; return arrayOfString; } NetworkInfo localNetworkInfo1 = localConnectivityManager .getNetworkInfo(1); if (localNetworkInfo1 != null && localNetworkInfo1.getState() == NetworkInfo.State.CONNECTED) { arrayOfString[0] = "2"; return arrayOfString; } NetworkInfo localNetworkInfo2 = localConnectivityManager .getNetworkInfo(0); if (localNetworkInfo2 != null && localNetworkInfo2.getState() == NetworkInfo.State.CONNECTED) { arrayOfString[0] = "1"; arrayOfString[1] = localNetworkInfo2.getSubtypeName(); return arrayOfString; } return arrayOfString; } }