Android中监听判断网络连接状态的方法

所属分类: 软件编程 / Android 阅读数: 1260
收藏 0 赞 0 分享

在无网或网速差的状态下,没必要去连接服务器。
你可以使用 ConnectivityManager 来判断是否连到网络,以及网络类型。

判断是否有网络连接

下面的代码用ConnectivityManager查询是活动网络连接判断是否有Internet连接。

复制代码 代码如下:

ConnectivityManager cm =
        (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
                      activeNetwork.isConnectedOrConnecting();

判断Internet连接类型

连接类型可能是移动数据,WiMax,WIFI,以太网。可以通过类似下面的方法查询网络类型:

复制代码 代码如下:
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;

移动数据比WIFI耗电,应该注意。下载大文件应该延迟到有wifi以后。

监听连接改变

ConnectivityManager会在连接改变时发送广播”android.net.conn.CONNECTIVITY_CHANGE”,所以,注册,监听一下这个广播就可以:

复制代码 代码如下:
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

每次从移动数据和WIFI间改变时都会触发,这个改变可能会很频繁。最好是只有当你之前暂停下载或更新的时候,才去监听这个广播。通常在下载或更新前先检查一次网络连接。
下节讲切换开关在manifest里声明的接收器.

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多