Android Marshmallow:如何在无法访问互联网时避免 Wi-Fi 掉线
Android Marshmallow: How to avoid Wi-Fi drop if No Internet access
我有一个 Nexus 5x 运行 MarshMallow 6.0,它与无法访问 Internet 的设备的 Wi-Fi 相关联。 Android 一直断开连接,甚至在尝试几次后都不会自动重新连接,因为它检测到没有 Internet 访问。
如何强制Android在没有互联网访问的情况下保持与此 Wi-Fi 的连接?
设备没有 root,但我可以在实际获取此 Wi-Fi 点的应用程序中以编程方式更改 "things"。
编辑#1
在我的应用程序中,我目前正在使用 enableNetwork API。文档指出:
如果应用的目标SDK版本为LOLLIPOP或更高版本,即使连接了Wi-Fi,网络通信也可能无法使用Wi-Fi;流量可能会通过另一个网络发送,例如蜂窝数据、蓝牙网络共享或以太网。例如,流量永远不会使用不提供 Internet 访问的 Wi-Fi 网络(例如无线打印机),如果另一个网络提供 Internet 访问(例如蜂窝数据)可用。需要确保其网络流量使用 Wi-Fi 的应用程序应使用 API,例如 bindSocket(java.net.Socket)、openConnection(java.net.URL) 或 bindProcessToNetwork(Network) 来执行此操作。
在这种特殊情况下,由于设备被迫处于平面模式,潜在的其他网络(蜂窝数据)已关闭。
我有一个 Nexus 5x 运行 MarshMallow 6.0,它与无法访问 Internet 的设备的 Wi-Fi 相关联。 Android 一直断开连接,甚至在尝试几次后都不会自动重新连接,因为它检测到没有 Internet 访问。
如何强制Android在没有互联网访问的情况下保持与此 Wi-Fi 的连接?
设备没有 root,但我可以在实际获取此 Wi-Fi 点的应用程序中以编程方式更改 "things"。
编辑#1
在我的应用程序中,我目前正在使用 enableNetwork API。文档指出:
如果应用的目标SDK版本为LOLLIPOP或更高版本,即使连接了Wi-Fi,网络通信也可能无法使用Wi-Fi;流量可能会通过另一个网络发送,例如蜂窝数据、蓝牙网络共享或以太网。例如,流量永远不会使用不提供 Internet 访问的 Wi-Fi 网络(例如无线打印机),如果另一个网络提供 Internet 访问(例如蜂窝数据)可用。需要确保其网络流量使用 Wi-Fi 的应用程序应使用 API,例如 bindSocket(java.net.Socket)、openConnection(java.net.URL) 或 bindProcessToNetwork(Network) 来执行此操作。
在这种特殊情况下,由于设备被迫处于平面模式,潜在的其他网络(蜂窝数据)已关闭。