Gps 长时间在后台更新

Gps updates in background for long time

我已经实施了一项前台服务,以便在应用程序处于后台时获取 GPS 更新以进行更长时间的运行,例如 3 小时。这是我们的业务需求。但该应用程序会在几分钟后停止获取更新。我看到顶部栏上的 "location icon" 消失了,尽管我的前台服务通知仍然存在。

我还从设置的电池优化列表中排除了我的应用程序,这样 Android 就不会终止我的应用程序。它有助于使 gps 更新保持活动状态仅约半小时,然后位置图标再次消失,我停止获取 gps 更新。

我该怎么做才能让它始终开启?

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

除此之外,您还可以使用 JobScheduler 在特定时间间隔(约 15 分钟)后获取位置数据 您也可以构建逻辑 a/c 到 OS 版本。

并且在获取位置时使用 FLP (FusedLocationProvider)

希望这会有所帮助,但毕竟这取决于手机品牌(如 ONE PLUS),您将面临这些问题。您也需要处理这些情况。

我根据我的简短评论和 OP 请求发布此答案

您可以通过在 manifest.xml 中的服务组件中添加 android:process=":FusedLocationService" 来通过单独的进程启动该 服务 .

我已经做到了这一点并在大多数设备上工作,除了一些制造商,如 Honor 和其他人,因为他们定制了 Android AOSP 以获得更好的用户体验