android-7.0-nougat - 在 android 7 上的后台跟踪 GPS 位置

标签 android-7.0-nougat android-gps

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

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

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

是否有解决方案或可以指导某人解决我在 android 7 上遇到的这个 GPS 问题?

谢谢。

最佳答案

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

关于android-7.0-nougat - 在 android 7 上的后台跟踪 GPS 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44670134/

相关文章:

android - 使用 FileProvider 在 Android N 上打开下载的文件

android - Selendroid 无法识别 Android 7 设备

java - Android 应用程序 - 定位服务的@Override 方法出错

android - 如何使用 GPS 获取我在 Android 中的当前位置?

android - 如何在 Android N 多窗口中将相同的 Activity 启动到单独的窗口中?

Android N - 尽管 minSDK 设置为 14,但无法在较低的 API 上运行

java - Android Nougat 在捕获视频时返回 null

android - 2019 年 4 月 6 日之后从 Location.getTime 返回的错误日期(周数翻转)

Android Gps Tracker 没有及时更新

android - 有没有办法检测 Android Wear Watch 上的 Location is OFF 而不是不存在