Android 8(Oreo)中的背景位置限制是什么?

时间:2018-06-21 15:43:43

标签: android android-location android-8.0-oreo android-8.1-oreo

https://developer.android.com/about/versions/oreo/background-location-limits

  

为减少功耗,Android 8.0(API级别26)限制了后台应用检索用户当前位置的频率。应用每小时每小时只能收到几次 位置更新。

该文档未提供有关后台位置检索频率限制的任何细节。

假设我的应用程序未在Android O设备上运行并且没有收到任何被动位置更新,那么我可以可靠地期望它接收到位置更新多少次?

“仅几次”到底是多少次?

1 个答案:

答案 0 :(得分:1)

现在有一个很老的问题,但是最近我花了很多时间试图使像这样的应用程序能够正常工作。在较旧的Android版本中,我有一个完美的应用程序,但是现在看来这是不可能的。

答案可能因设备而异,但使用Galaxy S7装置(Oreo),我可以设置位置的频率,甚至每5秒一次。但是经过45至60分钟的空闲时间后,该服务就会减慢速度,直到再次将应用程序手动移入前台为止。

我尝试了带有唤醒锁和'setAndAllowWhileIdle()'的Job Scheduler,Worker,AlarmManager,AlarmManager,它们都给出了相同的结果:完全活动的位置更改大约45分钟,而不是每15分钟一次或因此(如果您很幸运:可能会超过一个小时,而且似乎不可预测)