如何判断android 网络连接是否可用
2015-07-14 10:11
736 查看
一、判断网络连接是否可用
二、判断GPS是否打开
三、判断WIFI是否打开
四、判断是否是3G网络
五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。
public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (cm == null) { } else { //如果仅仅是用来判断网络连接 //则可以使用 cm.getActiveNetworkInfo().isAvailable(); NetworkInfo[] info = cm.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; }
二、判断GPS是否打开
public static boolean isGpsEnabled(Context context) { LocationManager lm = ((LocationManager) context .getSystemService(Context.LOCATION_SERVICE)); List<String> accessibleProviders = lm.getProviders(true); return accessibleProviders != null && accessibleProviders.size() > 0; }
三、判断WIFI是否打开
public static boolean isWifiEnabled(Context context) { ConnectivityManager mgrConn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mgrTel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return ((mgrConn.getActiveNetworkInfo() != null && mgrConn .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS); }
四、判断是否是3G网络
public static boolean is3rd(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkINfo = cm.getActiveNetworkInfo(); if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) { return true; } return false; }
五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。
public static boolean isWifi(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkINfo = cm.getActiveNetworkInfo(); if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) { return true; } return false; }
相关文章推荐
- 【Vmware】VirtualBox下虚拟机的网络配置
- verilog FPGA网络资源
- 网络爬虫(网络蜘蛛)之网页抓取
- Wireshake与TCP
- C++使用libcurl做HttpClient
- 网络请求
- 网络编程时为什么需要htons()、ntohl()、ntohs()、htons() 函数?
- cpu亲和力总结taskset和setcpu及其他相关
- Tcpclient简单聊天程序
- 岩田聪走了,从此天堂任你飞(乐游记番外篇)
- nginx-----http配置的解析
- http错误代码表
- 网络处理1-异步GET请求
- IOS中http请求的cookie查看,删除,添加
- HttpClient4.x 使用cookie保持会话
- 关于SYN洪泛攻击简单介绍
- Unity5.1 新的网络引擎UNET(八) UNET 系统概括
- TCP连接的建立 (三次握手) 和释放 (四次握手)
- AJAX核心XMLHTTPRequest对象
- 网络拓扑发现工具