当App需要进行网络连接获取数据时,先进行判断是否有网络连接,并且对网络类型进行判断,可以有效地避免对用户造成不必要的困惑和损失。
/*
* 判断是否有网络连接
* @author tianjie
* @return 网络连接状态
* -1 没有网络 1 wifi 2wap 3net
* */
private int getNetType(Context context) {
int netType = -1;
ConnectivityManager connMgr= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo= connMgr.getActiveNetworkInfo();
if(networkInfo==null){
return netType;
}
int nType=networkInfo.getType();
if(nType==ConnectivityManager.TYPE_MOBILE){
if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){
netType= 3;//cmnet 网路
}else {
netType = 2;//wap网络
}
}else if(nType==ConnectivityManager.TYPE_WIFI){
netType = 1;//wifi网路
}
return netType;
}
可用于提示用户在相应的网络状态下进行适当的操作。