【发布时间】:2014-12-10 16:09:01
【问题描述】:
Lollipop 有一个新功能,这对我来说是个大问题。当 WiFi 网络“连接”但没有互联网时,系统将透明地回退到移动数据。 http://www.androidpolice.com/2014/10/18/lollipop-feature-spotlight-android-now-defaults-to-mobile-data-when-wi-fi-has-no-internet-access-signal-icon-adds-a-for-no-connection/
由于我为公司制作的应用程序之一是 WiFi 测试应用程序,类似于 Fing 等,这会导致 Lollipop 出现问题。我需要在坏的 WiFi 信号上发送数据包,以便可以定位和修复问题,例如 Traceroute、Ping 等。虽然外部 IP 可能无法正常工作,但在这种情况下内部 IP 地址应该仍然可以访问。然而,随着连接自动回退到移动网络,这不再可能。
我还没有找到任何解决方案来检测这一点。 NetworkInfo.getState() 和 NetworkInfo.getDetailedState() 都报告“断开连接”,即使 WiFi 已连接并且外部连接不良。有没有人有什么建议?到目前为止的所有研究都让我相信我不能在 Android 中通过 WiFi 连接强制数据包,而且我还没有弄清楚我是否可以检测到这种状态。除了检测移动数据是否打开并要求用户关闭它,我还有哪些选择?
【问题讨论】:
标签: java android android-5.0-lollipop