网络权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
public class Utils {
public static int getType(Context context){int mState=-1;//-1代表无网络
//获取系统提供的服务,转换成连接管理类,这个类专门处理连接相关的东西
ConnectivityManager systemService = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE);
//NetworkInfo封装了网络连接的信息
NetworkInfo activeNetworkInfo = systemService.getActiveNetworkInfo();
//如果网络连接的信息等于空的话,代表无网络
if (activeNetworkInfo==null){
return mState;
}
int type = activeNetworkInfo.getType();
if (type==systemService.TYPE_WIFI){//代表现在是wifi网络
mState=1;
}else if (type==systemService.TYPE_MOBILE){
mState=0;//代表现在是蜂窝网络
}
return mState;
}
}
直接在Activity里调用
int type = Util.getType(this); if(type==-1){ Toast.makeText(this,"no",Toast.LENGTH_LONG).show(); }else { Toast.makeText(this,"yes",Toast.LENGTH_LONG).show(); }
第二种
调用时得到一个boolean值true代表有网false代表没网
public static boolean isNetWorkAvailable(Context context) { //得到网络连接管理器 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(context.CONNECTIVITY_SERVICE); //网络信息 NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null) { return true; } return false; }