判断网络连接状态的方法
来源:互联网 发布:淘宝商城游戏装备 编辑:程序博客网 时间:2024/05/17 08:45
1.一种比较简单的方法,无论是连接wifi还是网络,都返回true:
private boolean isNetworkAvailable(Context context){
boolean isWifiConnected = false;
boolean isMobileConnected = false;
ConnectivityManager conMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = conMgr.getActiveNetworkInfo();
if(networkInfo != null && networkInfo.isConnected()){
isWifiConnected = networkInfo.getType() == ConnectivityManager.TYPE_WIFI;
isMobileConnected = networkInfo.getType() == ConnectivityManager.TYPE_MOBILE;
}
return isWifiConnected || isMobileConnected;
}
2.一种比较详细的方法,即对每个状态作分析:
private final static int ERR_NETWORK_NOT_AVAILABLE = -2;
private final static int ERR_NETWORK_ROAMING_DISABLE = -1;private final static int OK_NETWORK_MOBILE = 0;
private final static int OK_NETWORK_WIFI = 1;
private final static int OK_NETWORK_ROAMING = 2;
private int isNetworkAvailable(Context context){
ConnectivityManager conMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = conMgr.getActiveNetworkInfo();
NetworkInfo mobileNetInfo = conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiNetInfo = conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isMobileConnected = mobileNetInfo.isConnected();
boolean isWifiConnected = wifiNetInfo.isConnected();
boolean isNetWorkAvailable = (networkInfo == null) ? false : (networkInfo.isAvailable());
boolean isNetWorkConnected = (networkInfo == null) ? false : (networkInfo.isConnected());
boolean isRoaming = mobileNetInfo.isRoaming(); //是否开启漫游
if(isWifiConnected){
return OK_NETWORK_WIFI;}
if(isMobileConnected){
return isRoaming ? OK_NETWORK_ROAMING : OK_NETWORK_MOBILE;
}
if(isRoaming){
if(!isNetWorkAvailable){
return ERR_NETWORK_NOT_AVAILABLE;
}
return OK_NETWORK_ROAMING;
}
return isNetWorkAvailable ? OK_NETWORK_MOBILE : ERR_NETWORK_NOT_AVAILABLE;
}
- 判断网络连接状态的方法
- 判断设备和判断网络连接状态的方法
- C#中判断系统的网络连接状态的方法
- Android中监听判断网络连接状态的方法
- Android中监听判断网络连接状态的方法
- Android开发监听判断网络连接状态的方法
- Android 一个判断网络连接状态的简单方法
- iOS 判断网络连接状态的几种方法
- iOS 判断网络连接状态的几种方法
- iOS 判断网络连接状态的几种方法
- 判断网络状态的方法
- 判断网络连接状态
- 判断网络连接状态
- 判断网络连接状态
- 判断网络连接状态
- 判断网络连接状态
- 判断网络连接状态
- 网络连接状态判断
- WPF的静态资源(StaticResource)和动态资源(DynamicResource)
- POJ 2230 - Watchcow 输出欧拉回路点的路径...
- mac下svn问题——“.a”(静态库)文件无法上传解决
- Poj 2187 Beauty Contest
- PAT_1031: Hello World for U
- 判断网络连接状态的方法
- WARN conf.Configuration: mapred.output.value.class is deprecated. Instead, use mapreduce.job.output.
- Map
- android的ImageView中XML属性src和background的区别
- pat 1029
- 如何编写高效的Android代码
- MySQL中关于查询条件中的字符串空格问题
- 几个流行而其免费的SVN服务器
- 判断大端小端函数