Android开发(七)——判断网络状态
项目中难免会出现使用网络的情况,使用网络前得进行网络判断,看网上的网友一般有多种实现版本。
第一种:
// 是否有网络连接public static boolean isNetworkConnected() {if (App.getContext() != null) {ConnectivityManager mConnectivityManager = (ConnectivityManager) App.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();if (mNetworkInfo != null) {return mNetworkInfo.isAvailable();}}return false;}
第二种:
/*** 判断网络是否可用* * @param context* @return*/public static boolean isNetworkAvailable(Context context) {ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if (cm != null) {NetworkInfo[] info = cm.getAllNetworkInfo();if (info != null) {for (int i = 0; i < info.length; i++) {if (info[i].isConnected()) {return true;}}}}return false;}
其中主要的使用区别是isConnected()与isAvailable(),参考文章[3],总结5种连接状态情况:
在WLAN设置界面状态 | 输出 |
显示连接已保存,但标题栏没有,即没有实质连接上 | 输出为:not connect, available |
显示连接已保存,标题栏也有已连接上的图标 | 输出为:connect, available |
选择不保存后 | 输出为:not connect, available |
选择连接,在正在获取IP地址时 | 输出为:not connect, not available |
连接上后 | 输出为:connect, available |
建议使用:
// 是否有网络连接public static boolean isNetworkConnected() {if (App.getContext() != null) {ConnectivityManager mConnectivityManager = (ConnectivityManager) App.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();if (mNetworkInfo != null) {return mNetworkInfo.isAvailable() && mNetworkInfo.isConnected();}}return false;}
参考:
[1] http://www.cnblogs.com/codeworker/archive/2012/04/23/2467180.html
[2] http://blog.csdn.net/heng615975867/article/details/17280227
[3] 关于NetworkInfo对象的isConnected()与isAvailable().http://www.oschina.net/question/54100_34632
转载于:https://www.cnblogs.com/ccdc/p/4432583.html
Android开发(七)——判断网络状态相关推荐
- android 开发中判断网络是否连接的代码
在android的开发中,尤其是与访问网络有关的开发,都要判断一下手机是否连接上了网络,下面是一个判断是否连接网络的嗲吗片段: package cn.com.karl.util;import com. ...
- Android判断网络状态是否断开
1.Android判断网络状态是否断开 不多说了,看代码吧! /** * 判断网络状态是否可用 * @return true: 网络可用 ; false: 网络不可用 */ public b ...
- android 网络代码是什么意思,Android判断网络状态的代码
本文实例为大家分享了Android判断网络状态的具体代码,供大家参考,具体内容如下 一.权限 需要在AndroidManifest.xml 添加访问权限 二.判断连接状态 /** * 判断是否有网络连 ...
- iphone开发使用Reachability判断网络状态
在使用Reachability判断网络状态时,我们可以下载苹果官网的Reachability.zip文件,解压之后有一个不错的实例供我们参考. 1.下载 http://developer.apple. ...
- Android开发本地及网络Mp3音乐播放器(十三)网络音乐搜索功能实现,歌名歌手专辑名搜索
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51298411 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现网络音乐 ...
- Android开发本地及网络Mp3音乐播放器(二十)歌曲下载完成后通知主界面更新本地音乐
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51448597 项目源码(打赏5积分请点这边):http://download.csdn ...
- Android开发本地及网络Mp3音乐播放器(十二)创建NetMusicListAdapter、SearchResult显示网络音乐列表
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/51290181 觉得博文有用,请点赞,请留言,请关注,谢谢!~ 实现功能: 实现NetM ...
- promise使用promise进行判断网络状态
使用promise是为了达到一个并行异步的目的 // 判断网络状态networkState() {return new Promise((resolve, reject) => {uni.get ...
- android判断多个按钮,Android开发之判断有无虚拟按键(导航栏)的实例
判断有无虚拟按键(导航栏) 现在很大一部分手机没有虚拟按键,一部分有.我们在做适配的时候可能会用到这方面的知识. 例如:屏幕填充整个屏幕的时候,没办法只能连导航栏一起填充了,但是这个不是我们想要的,我 ...
- android 判断安装微信,Android开发中判断手机是否安装了QQ或者微信
下面一段代码给大家分享了android中判断手机是否安装了qq或者微信,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧 public static boolean isWeixinAv ...
最新文章
- 如何找到在SAP社区上经过SAP官方认可比较有影响力的SAP从业者
- python 运算及注释
- Qt creator5.7 OpenCV249之pyrUp函数(含源码下载)
- 二十五、MongoDB 索引 和 explain 的使用
- Java 轻量级锁原理详解(Lightweight Locking)
- Linux 在不重启的情况下识别新挂载的磁盘
- PSOLA基音同步叠加算法
- [SCOI2016]背单词
- dubbo-Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
- 探索在Android中使用Emoji Font的方法
- matlab快速原型开发c语言,快速原型开发
- 分享一个自己做的记账的小程序 - 智能记账,欢迎朋友们体验
- 阿里云部署网站全流程(基于nodejs)
- java4android 教程_《Java4Android视频教程》学习笔记(三)
- linux命令中man使用不起,Linux中man命令起什么作用呢?
- android版本下载京东,京东下载2021安卓最新版_手机app官方版免费安装下载_豌豆荚...
- Kaggle经典项目——房价预测
- 新款 MacBook Pro 评测:更好的性能、免费的刘海和更好的显示器
- mac上传文件到阿里云ECS及scp命令使用
- 艺赛旗(RPA)python 的 tkinter 进度条的实现
热门文章
- 【Android应用保护技术探索之路系列】之一:Android应用保护技术开篇
- JAVA中线程同步的方法(7种)汇总
- JZOJ 5606. 【NOI2018模拟3.27】Yja
- vba定义全局变量并赋值_利用VBA代码如何打开任意程序
- 教你保存在线视频文件
- Ubuntu复制相同的目录结构(不复制文件)
- 商店选址问题(Floyd)
- BZOJ 4422 (线段树、DP、扫描线、差分)
- php 正则表达式 ies,正则表达式模式修正符(/ies)
- Linux系统云主机教程,新开的linux云主机磁盘挂载教程