每官方文件
以下限制适用于使用WifiManager.startScan()进行扫描的频率。 Android8.0和Android8.1:每个后台应用程序可以在30分钟内扫描一次。 Android 9:每个前台应用程序可以在2分钟内扫描四次。这允许在短时间内进行一次突然的扫描。所有背景应用程序加起来可以在30分钟内扫描一次。 Android 10及更高版本:同样适用于Android 9的节流限制。有一个新的开发人员选项,以切换节流为本地测试(在开发人员选项>网络>Wi扫描节流)。
因此,如果我们想要构建一个传感器应用程序(对于特定的SSID、BSSID等等)对于用户来说,我们所希望的最佳价格是每半个小时进行一次扫描?
我的目标是使用WorkManager和WorkRequests生成几个重复工作人员,以便将频率降到更合理的水平(例如5分钟),直到我看到上面的限制。这个限制没有解决办法吗?
发布于 2020-08-28 22:03:28
CommonsWare的评论把我引向了正确的方向。我不得不将整个应用程序重组为前台服务(而不是前台应用,因为我仍然希望它能够在后台无限期地运行)。一旦我这样做,我就能够每4分钟扫描一次WiFi网络,连续扫描至少50分钟。这是最有用的资源。
https://stackoverflow.com/questions/63606583
复制相似问题