小编Ale*_*ann的帖子

连接到离线 Wi-Fi 并继续使用移动数据(也适用于所有其他应用程序)

我有一个应用程序需要通过 Wi-Fi 连接到硬件。为此,硬件提供了离线 Wi-Fi 热点。热点的 DHCP 不为我们提供网关或 DNS,因此我们立即知道它仅供离线使用。

最终用户在工作时必须始终保持 Wi-Fi 连接,以便接收传感器数据并在数据出现问题时发出警报。但与此同时,我们不想强迫最终用户的移动设备离线。他应该能够将他的移动数据用于我们和他拥有的所有其他应用程序。

我虽然可以通过调用android.net.ConnectivityManager.requestNetwork来控制它。但它似乎工作不可靠。如果所有其他应用程序都可以访问移动数据,在我的应用程序requestNetwork中调用是否会影响?

这是我们可以控制的吗?我在不同制造商和 Android 版本的多台设备上进行了测试,它们的行为都不同。

例如 Pixel 3a 运行良好。一段时间后,我收到有关 Wi-Fi 离线的通知。如果我忽略它,它就会继续工作。如果我按“是”,我将处于离线状态并连接到 Wi-Fi。

华为 P20 Lite 似乎每次我请求时都会OnLost为我的移动数据触发一个事件。NetworkCallback就像每次我重新连接时它都会尝试取消移动连接,因为我在 wifi 中。某些设备提供“智能开关”(三星)或“Wi-Fi+”(华为)模式,但默认情况下并未启用。要求用户打开它似乎很麻烦,因为他们可能不想在不同的场景中使用它。

以下是不同设备的一些示例: 在此输入图像描述

android android-wifi

5
推荐指数
1
解决办法
1248
查看次数

标签 统计

android ×1

android-wifi ×1