要解决Android WiFi节流限制吗?

问题描述

the official docs

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

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

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

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

因此,如果我们要为用户构建传感器应用程序(用于特定的SSID,BSSID等),我们希望的最佳汇率是每半小时进行一次扫描?

我的目的是使用WorkManager和WorkRequests产生多个定期工作的人员,以将频率降低到更合理的水平(例如5分钟),直到我看到上述限制。此限制没有解决方法吗?

解决方法

CommonsWare的评论使我朝着正确的方向前进。我不得不将整个应用程序重组为前台服务(不是前台应用程序,因为我仍然希望它能够在后台无限期地运行)。完成此操作后,我可以每4分钟连续扫描WiFi网络至少50分钟。 This是最有用的资源。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...