Android中监听判断网络连接状态的方法
在无网或网速差的状态下,没必要去连接服务器。
你可以使用 ConnectivityManager 来判断是否连到网络,以及网络类型。
判断是否有网络连接
下面的代码用ConnectivityManager查询是活动网络连接判断是否有Internet连接。
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
判断Internet连接类型
连接类型可能是移动数据,WiMax,WIFI,以太网。可以通过类似下面的方法查询网络类型:
移动数据比WIFI耗电,应该注意。下载大文件应该延迟到有wifi以后。
监听连接改变
ConnectivityManager会在连接改变时发送广播”android.net.conn.CONNECTIVITY_CHANGE”,所以,注册,监听一下这个广播就可以:
每次从移动数据和WIFI间改变时都会触发,这个改变可能会很频繁。最好是只有当你之前暂停下载或更新的时候,才去监听这个广播。通常在下载或更新前先检查一次网络连接。
下节讲切换开关在manifest里声明的接收器.
相关文章
Android 使用viewpager实现无限循环(定时+手动)
这篇文章主要介绍了Android 使用viewpager实现无限循环(定时+手动)的相关资料,需要的朋友可以参考下2015-11-11Android Studio4.0解决Gradle下载超时问题
这篇文章主要介绍了Android Studio4.0解决Gradle下载超时问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10Android下拉刷新ListView——RTPullListView(demo)
下拉刷新已经形成一种默认的用户习惯,今天主要介绍下在Android上实现下拉刷新的Demo,感兴趣的朋友可以参考下哈,希望可以帮助到你2013-04-04
最新评论