gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:00:02 50 4
gpt4 key购买 nike

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

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

我虽然可以通过调用 android.net.ConnectivityManager.requestNetwork 来控制它.但它似乎不能可靠地工作。将调用requestNetwork我的应用程序 影响 所有其他应用程序可以访问移动数据吗?

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

例如。 Pixel 3a 工作正常。一段时间后,我收到有关离线 Wi-Fi 的通知。如果我忽略它,它会继续工作。如果我按"is",我就离线并连接到 Wi-Fi。

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

以下是不同设备的一些示例:
enter image description here

最佳答案

使用 requestNetwork() 时要坚持离线 wifi 网络,您需要 ConnectivityManager 的实例.您可以按以下方式获取它:

final ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

此方法返回操作系统的连接管理器。因此,其他应用程序也会受到您放置 ConnectivityManager 的“粘性”模式的影响。在。

不幸的是,我认为应用程序不可能强制操作系统保持连接到离线 Wifi 网络,同时继续使用移动数据。

关于android - 连接到离线 Wi-Fi 并继续使用移动数据(也适用于所有其他应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660494/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com