Android 判断网络连接(一)
来源:互联网 发布:笔记本如何卸载软件 编辑:程序博客网 时间:2024/06/06 12:49
ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo = manager.getActiveNetworkInfo();if (mNetworkInfo != null) { return mNetworkInfo.isAvailable();}
我们在写Android一般都会用以上方法来判断网络是否连接.
但今天在项目中发现,即使我连接了一个没有连WAN口的路由器,这里返回还是true.
后来换了一种方法,
InetAddress address=InetAddress.getByName("www.baidu.com");isReach = address.isReachable(5000);
但是这里也有问题,就是即使我连上网了,这里返回还是false.
后来通过google,发现原因是因为isReachable的实现,通常是ICMP ECHO Request 或是尝试使用目标主机上的端口7进行连接,很有可能被防火墙拦截,所以会访问不到。
所有后来又换了一种方法:
server = new Socket();InetSocketAddress address = new InetSocketAddress("www.baidu.com",23);server.connect(address, 5000);
这里如果没有出现异常则表示网络连接正常.因此可以通过这样一种方式来判断网络.
但是,后来通过测试,当连接需要验证的WIFI时,还是网络连接正常。Android 判断网络连接(二)
记录了如何解决这种问题。
0 0
- Android 判断网络连接(一)
- Android网络连接判断与处理(一)
- android 判断网络连接
- android 判断网络连接
- android 判断网络连接
- android 判断网络连接
- 判断android网络连接
- android 判断网络连接
- Android--网络连接判断
- android判断网络连接
- android判断网络连接
- android判断网络连接
- Android网络连接判断
- Android网络连接判断
- android 网络连接判断
- Android网络连接判断
- Android 判断网络连接
- Android 判断网络连接
- MapWinGIS4.9.3的二次开发
- 在Azure 环境里安装 SharePoint 2013 系统(四)安装、配置SharePoint 2013
- C#创建datatable
- JAVA-ADT:Failed to load the JNI shared library完美解决
- 学习java同步机制 (一) 基础篇
- Android 判断网络连接(一)
- 内存中常见异常值的解释(比如0xcccccccc、0xcdcdcdcd和 0xfeeefeee 异常值 )
- 数据结构---线性表的顺序实现
- html a 标签实现打电话,发短信,发邮件,查地图功能
- Yarn的资源调度与erlang进程调度二三事
- 共阴和共阳数码管编码表
- json
- 钢琴曲
- ListView上拉加载更多