android 7 上的后台 GPS 位置跟踪

GPS locations tracking in background on android 7

我有 android 的应用程序需要定期(假设每 10 秒)向服务器发送位置更新。到目前为止没有什么特别的。然而,这是作为一项服务完全在后台完成的。此应用程序使用 LocationManager 定期接收当前 GPS 位置并将其发送到服务器。这当然是应用程序的简化故事,只关注问题

完整的应用程序在 android 6 之前工作正常。在 android 6 中,当屏幕关闭一段时间后,应用程序停止发送更新,但在移动、屏幕打开或收费。这是由 Doze 功能引起的,这没关系。只要应用程序在 Android 7 movement.However 之后发送位置更新,位置更新只会在屏幕打开或充电时在服务器上接收。移动(如步行)不会触发打瞌睡(至少服务器上没有收到位置更新)。该应用程序也被列入电池优化白名单,但这无济于事。可能是 GPS/network 关闭了。

阅读 Android 文档,我没有看到在设备打瞌睡时按应用程序控制的时间间隔在后台接收和发送当前 GPS 位置的解决方案。

是否有解决方案或可以给某人一个方向来解决我在 android 7 中遇到的这个 GPS 问题?

谢谢。

找到解决方案。确保它是前台服务而不是后台服务。好的文章可以在https://developer.android.com/preview/features/background-location-limits.html

中找到