【问题标题】:How to detect host reachability in android?如何检测android中的主机可达性?
【发布时间】:2017-04-27 08:44:18
【问题描述】:

IOS中我们使用苹果提供的Reachability框架实现,在Android中我们需要查找是否有可用的互联网连接。实际上,我们需要确定 Wi-fi 是否连接到有效的互联网连接,我们尝试了很多方法,但我们需要立即扣除。在这种情况下,我们应该找出互联网连接的主机可达性状态。我们在link 下试过这个。

响应需要一些时间,但我们需要即时响应来完成要求。我们需要解决的情况是,设备连接了 Wi-Fi 但没有互联网连接。如果有人知道解决方案,请帮助我们。提前致谢。

【问题讨论】:

  • 快速阅读可达性框架后,我认为它也不能解决您的问题。可达性表明您可能能够访问特定主机,因为正确的网络连接可用。唯一可以确定的方法是尝试连接,如果失败,请重试。考虑一个事实,即使 PING 成功,如果服务器在 PING 和 CONNECT 之间死亡,连接仍然会失败!
  • 从需求的角度来看,谁决定你必须“立即”完成?在您的需求文档中,“立即”是以毫秒还是秒为单位指定的?即使连接需要 5 分钟,从地质角度来说,这也是一瞬间 :-)
  • 在这种情况下我们需要在 1 到 5 秒内找出答案

标签: android android-wifi host reachability android-networking


【解决方案1】:

在 Android 中,您可以订阅以在 WiFi 连接时收到通知。这就像你将要得到的一样即时。

ConnectivityManager 还允许您轮询以查看 WiFi 是否可用,但获得事件会更好(并且更省电)。

See here for details

【讨论】:

  • 其实我们已经检测到是否连接可用,我们需要主机可达状态,我们需要找到万一WiFi连接但它没有互联网
猜你喜欢
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多