位置管理器行为的最新变化?

Recent changes in Location manager behavior?

我开发了一个 运行 应用程序,它通过 LocationManager 使用 GPS 定位来提供转弯导航体验。 昨天,我发现当应用程序在后台(phone 锁定)时,我不再收到任何位置更新。

这不可能是代码回归,因为我之前的 git 提交的 none 都不起作用。我知道我可以在几周前的最后一次测试中收到位置更新。

然后我测试了其他基于 GPS 的应用程序,如 Waze 和其他应用程序,但结果相同:none 它们可以在进入后台时更新我的​​位置(GMaps 除外),这意味着我没有导航指令,如果我的 phone 被锁定了。我已经用其他 phones Samsung S8、S9 和 Asus 测试过……没有变化。

有人知道 LocationManager 行为最近是否有变化吗?

谢谢。

我找到了一个很好的解决方法。

为了在后台使用 Android 8.0 接收 GPS 位置,我们需要创建一个要求更新位置的前台服务并将其传递给您的 activity。

这是一个example of that.