围绕Android WiFi限制工作



根据官方文档:

以下限制适用于使用WifiManager.startScan((.的扫描频率

安卓8.0和安卓8.1:每个后台应用程序可以在30分钟内扫描一次。

Android 9:每个前台应用程序可以在2分钟内扫描四次。这允许在短时间内进行一系列扫描。所有后台应用程序组合在一起可以在30分钟内扫描一次。

Android 10及更高版本:适用与Android 9相同的限制。有一个新的开发人员选项可以关闭本地测试的限制(在开发人员选项>网络>Wi-Fi扫描限制下(。

所以,如果我们想为用户构建一个传感器应用程序(针对特定的SSID、BSSID等(,我们希望的最佳速率是每半小时进行一次扫描?

我的目标是使用WorkManager和WorkRequest生成几个重复的工人,以使频率降低到更合理的水平(例如5分钟(,直到我看到上述限制。这个限制没有变通办法吗?

CommonsWare的评论引导我朝着正确的方向前进。我不得不将我的整个应用程序重组为前台服务(而不是前台应用程序,因为我仍然希望它能够无限期地在后台运行(。一旦我做到了,我就可以每4分钟扫描一次WiFi网络,连续至少50分钟。这是最有用的资源。

最新更新