Android 奥利奥背景位置限制偶尔会起作用

Android Oreo Background Location Limit works occasionally

我正在为我的应用程序使用 FusedLocationProvider 每隔几秒收集一次位置信息。我最近将我的三星 S8 升级到 Android 8.0 后,我发现我的应用程序在 运行 在后台运行一段时间(10 分钟到 20 分钟)后无法获取新位置。这种情况只发生过几次,可能不到 10% 的测试。然后我在 Google Pixel phone which 运行 Android 8.1 上进行了测试。我将应用程序置于后台并进行了一些测试。我每隔几秒钟就会收到新的位置信息。然而,有一次我每 5 分钟只能找到一个新位置。任何人都知道这个后台位置限制究竟是如何工作的。

1、什么情况下会触发这个功能(貌似后台不会一直触发)?

2,一旦触发此限制,我多久可以期待一次新位置?

好的,经过一些测试,我得到了更多细节。

1、如果您的应用正在使用 FusedLocationProvider,其他应用请求的位置可能会影响此位置限制。通过强制关闭所有其他与位置相关的应用程序,一旦您将应用程序置于后台,此限制就会生效。

2, 对于三星 S8,我大约每 3 分钟就有一个新位置。对于 Google Pixel,我每 5 分钟获得一个新位置。在那 3-5 分钟内,位置管理器的最后位置保持不变。