Android开发检测网络是否连接
2015-09-23 00:00
519 查看
摘要: 学习笔记
原来写的有一个(调戏糖宝)的客户端,没有加网络连接判断,在没有网络的情况下,会程序死掉。所以添加以下的代码,在程序运行的时候做下判断。解决这种因网络没有连接运行出错的问题。
/**
* 检测网络是否可用
*
* @param context
* 上下文
* @return true 表示有网络连接 false表示没有可用网络连接
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
return false;
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
/**
* 用于判断是否是wifi 网络
*
* @param context
* @return 是否WIFI网络
*/
public static boolean isWifiConnect(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;
}
原来写的有一个(调戏糖宝)的客户端,没有加网络连接判断,在没有网络的情况下,会程序死掉。所以添加以下的代码,在程序运行的时候做下判断。解决这种因网络没有连接运行出错的问题。
/**
* 检测网络是否可用
*
* @param context
* 上下文
* @return true 表示有网络连接 false表示没有可用网络连接
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
return false;
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
/**
* 用于判断是否是wifi 网络
*
* @param context
* @return 是否WIFI网络
*/
public static boolean isWifiConnect(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;
}
相关文章推荐
- 基于okhttp的异步请求
- 一起学CC3200之OTA固件升级(使用HTTP方式下载APP:初级篇)
- 2015北京网络赛 G题 Boxes bfs
- VMware 设置ubuntu12.04 桥接网络
- C++网络编程卷1、卷2概述
- 打造安全的App!iOS安全系列之 HTTPS 进阶
- 反网络爬虫
- [网络原理]如何理解“链路层交换机通常用于接入网中,而路由器通常用于网络核心中”
- HTTP协议 : 协议的完整的通信过程
- HttpSessionListener案例: 自定义HttpSession扫描器
- 2015北京网络赛 J Clarke and puzzle 分块+bitset
- [网络原理]这句话:”端系统(end system)通过通信链路(communication link)和分组交换机(packet switch)连接到一起“似乎不准确...
- 2015沈阳赛区网络赛 HDU 5457 Hold Your Hand 字典树+最小割
- 安卓:handler解析json新闻,显示图片,标题,内容(未判断网络连接状态)
- 网络3层相关的几个问题
- 安卓:handler下载网络图片(附带有进度条和网络连接判断的APP)
- HDU3549 Flow Problem (网络流入门题)
- poj Asteroids (二分匹配之匈牙利算法)
- C++ 用libcurl库进行http通讯网络编程
- Cloudstack 4.5基础网络架构部署——cloudstack management server(01)