2

我的应用通过前台服务收集位置,并且在 Android 11 之前一直运行良好。在 Android 12 测试版中,所有权限都适用于以前的版本,我得到的位置很少,远低于我的更新间隔设置,有时不是一次几分钟。

对于使用前台服务、LocationManager 或其他任何可能影响这一点的运行应用程序,Android 12 是否有一些更改?

编辑:尝试模拟位置;那些进来很好。也尝试添加

 android:foregroundServiceType="location"

......这没有帮助。我曾考虑过切换到 Fused Location Provider API,但我读过这无助于获得更多位置,恰恰相反。

我的下一步是将“gps”位置提供程序与 LocationManager 一起使用;我的猜测是这将获得更多位置,但我的应用程序一直在处理来自“融合”提供商的位置类型,所以我真的想要一个更好的选择。

4

1 回答 1

1

在 Android 12 中使用 FusedLocationProviderClient 而不是 LocationManager 有效;看起来在 Android 12 中使用带有 LocationManger.requestLocationUpdates 的“融合”提供程序将不再导致收集新的位置。

于 2021-10-01T00:34:08.353 回答