Android:真正判断网络是否可以?

longzhu2011 2013-05-20 12:17:14
各位,弱弱的问一下我想在程序里判断网络状态。
于是乎,按照正常思路我写了这个函数:


我用的是CMCC(就是不仅连接还要输入找好和密码登录的局域网),于是我的这个方法无法判断了,我应该怎么判断?谢谢
...全文
551 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
icyblood198999 2014-08-18
  • 打赏
  • 举报
回复
1楼已经是正解了,尝试连接一个外网的可靠服务器便可。
fullfree 2014-08-18
  • 打赏
  • 举报
回复
尝试连接一个可靠的服务器,如百度或者自己的service,可以用http head减少流量消耗
xiening 2014-08-17
  • 打赏
  • 举报
回复
思想不错。 1. 建立ConnectivityManger. 2.测试手机联网是否通畅getNectworkInfo(..) 3.最后这个, requestRouteToHost(...)看url连接是否没有问题。 。。。。我也在学习,我先用用看。。。。 好运。
xiening 2014-08-17
  • 打赏
  • 举报
回复
http://www.w3c.com.cn/requestroutetohost-%E6%98%AF%E5%B9%B2%E5%98%9B%E7%94%A8%E7%9A%84 这个文章不错,不知道从哪里来的代码。
DrSmart 2013-08-21
  • 打赏
  • 举报
回复
没什么好方法,比如ping通外网才行
别介意 2013-08-21
  • 打赏
  • 举报
回复
貌似判断wifi是否连接只判断了是否连接上了局域网,如果要测试是否连接上外网,可以在服务器端写个get方法,让客户端直接请求get,如果这个不会耗费多少流量判断的速度也比较快吧
inurbane 2013-08-21
  • 打赏
  • 举报
回复
楼主解决没?我也遇到这个问题,能否提供一下方法,万分感谢
longzhu2011 2013-05-20
  • 打赏
  • 举报
回复
引用 2 楼 BeWhatYouAre 的回复:
boolean netSataus = false; ConnectivityManager cManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (cManager.getActiveNetworkInfo() != null) { netSataus = cwjManager.getActiveNetworkInfo().isAvailable();//网络状态 }
谢谢你的,回复,不过这个跟我写的有什么区别呢?这样还是不能识别啊! 求解释~~~
longzhu2011 2013-05-20
  • 打赏
  • 举报
回复
@shadow_dance
引用 1 楼 shadow_dance 的回复:
呃,你可以起个http连接访问baidu。。。。 如果可以连接就是连接可用么~ 希望可以帮到楼主
够厉害啊你~~~这样也可行,不过 能不能在想想跟专业的办法?!!
我爱果果2015 2013-05-20
  • 打赏
  • 举报
回复
boolean netSataus = false; ConnectivityManager cManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (cManager.getActiveNetworkInfo() != null) { netSataus = cwjManager.getActiveNetworkInfo().isAvailable();//网络状态 }
有梦想的胖子 2013-05-20
  • 打赏
  • 举报
回复
呃,你可以起个http连接访问baidu。。。。 如果可以连接就是连接可用么~ 希望可以帮到楼主

80,353

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧