1 import android.content.Context; 2 import android.net.ConnectivityManager; 3 import android.net.NetworkInfo; 4 5 /** 6 * 网络工具类 添加网络状态许可:<uses-permission 7 * android:name="android.permission.ACCESS_NETWORK_STATE"/> 8 * 9 * @author benny 10 * 11 */ 12 public class NetworkUtil { 13 14 /** 15 * 网络连接状态 16 * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 17 * @param context 18 * 程序上下文 19 * @return true:可连接 20 */ 21 public static boolean isNetworkConnected(Context context) { 22 if (context != null) { 23 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 24 25 NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); 26 if (networkInfo != null) { 27 return networkInfo.isAvailable(); 28 } 29 } 30 return false; 31 } 32 33 /** 34 * WiFi 网络连接状态 35 * <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 36 * @param context 37 * 程序上下文 38 * @return true:可连接 39 */ 40 public static boolean isWifiConnected(Context context) { 41 if (context != null) { 42 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 43 44 NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 45 if (networkInfo != null) { 46 return networkInfo.isAvailable(); 47 } 48 } 49 return false; 50 } 51 52 /** 53 * Mobile 网络连接状态 54 * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 55 * 56 * @param context 57 * 程序上下文 58 * @return true:可连接 59 */ 60 public static boolean isMobileConnected(Context context) { 61 if (context != null) { 62 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 63 64 NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); 65 if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { 66 return networkInfo.isAvailable(); 67 } 68 } 69 return false; 70 } 71 72 /** 73 * 获取网络连接类型 74 * @param context 程序上下文 75 * @return ConnectivityManager.TYPE_XXXX 76 */ 77 public static int getConnectedType(Context context) { 78 if (context != null) { 79 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 80 NetworkInfo mNetworkInfo = connectivityManager.getActiveNetworkInfo(); 81 if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { 82 return mNetworkInfo.getType(); 83 } 84 } 85 return -1; 86 } 87 88 }