判断手机有没有网络这里写一个类有网络返回一个true,没网返回一个false:
1 public static int getConnectedType(Context context){ 2 if(context != null){ 3 ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 4 NetworkInfo info = manager.getActiveNetworkInfo(); 5 if(info != null && info.isAvailable()){ 6 return info.getType(); 7 } 8 } 9 return -1; 10 }
判断手机是通过数据联网还是通过WIFI联网,以下类会返回三个值分别为(-1:没网络,0:手机数据网络,1:WIFI网络):
1 public static boolean isConnectInternet(Context context){ 2 ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 3 NetworkInfo info = manager.getActiveNetworkInfo(); 4 if(info != null){ 5 return info.isAvailable(); 6 } 7 return false; 8 }
加上以下权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
这里我写了一个类,方便调用:
1 public class Connections { 2 3 /* 4 * 判断网络类型 5 * 值为1 -- WIFI 6 * 值为0 -- 手机数据网络 7 * 值为-1 - 断开网络(不包含以上两者) 8 */ 9 public static int getConnectedType(Context context){ 10 if(context != null){ 11 ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 12 NetworkInfo info = manager.getActiveNetworkInfo(); 13 if(info != null && info.isAvailable()){ 14 return info.getType(); 15 } 16 } 17 return -1; 18 } 19 20 /* 21 * 判断网络状态 22 * 有网 - true 23 * 没网 - false 24 */ 25 public static boolean isConnectInternet(Context context){ 26 ConnectivityManager manager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 27 NetworkInfo info = manager.getActiveNetworkInfo(); 28 if(info != null){ 29 return info.isAvailable(); 30 } 31 return false; 32 } 33 34 }