人生难得几回搏,此时不搏待何时。这篇文章主要讲述在Android 8中使用带DOZE的GPS相关的知识,希望能为你提供帮助。
我有一个应用程序,它运行后台服务来监控GPS位置并将其与位置列表进行比较。当它找到匹配时,它发送广播以触发前台活动,然后显示有关该位置的信息。 GPS跟踪使用Google Play服务中的GPS功能,需要每20秒更新一次。
大多数情况下,用户不知道应用程序,可以做其他事情。前景UI可能不会每2分钟更频繁地触发,并且可能长达20分钟或更长时间。其余的时间,重要的是应用程序可以继续获取GPS位置,而不会中断用户正在做的任何其他事情。
我试图了解android 8中新的Doze和Standby功能的影响。它通过阅读最新的文档看起来它将不再有用,后台服务将无法获得更新(或者只会得到一些每小时,这是无用的)。任何人都可以告诉我这是否正确?
【在Android 8中使用带DOZE的GPS】他们似乎说我应该使用前台服务,但在其他地方他们说前台服务应该只在需要一些用户交互的地方使用。看起来像捕获22.前景服务是否适合这样的事情?
文档也提到白名单,但我不清楚这是什么。我可以将我的应用程序列入白名单以使其继续工作吗?
任何人都可以帮助困惑的业余开发人员?
克里斯S.
答案我现在明白它好一点了。我还没有找到任何使用后台服务的方法。我尝试在清单中要求REQUEST_IGNORE_BATTERY_OPTIMIZATIONS权限,但它仍然无效 - 几分钟后GPS跟踪停止。为了做我想做的事,我不得不将跟踪转换为前台服务 - 这很好用。
推荐阅读
- Android Studio GeoDataClient无法解析
- Android kotlin - 应用程序在检查GPS是否启用时停止
- 如何检查我是否在Android 4.4及以上版本中以编程方式打开gps( [重复])
- Android Geolocation在模拟器中工作但不在手机中工作
- 如何在Android上以编程方式启用或禁用GPS()
- Map返回Null或空Android Studio
- Android GPS FusedLocationProviderClient(经度错误)
- 如何在Android 6.x上以编程方式启用或禁用GPS()
- 有没有办法清除已经从Android设备手动捕获的位置详细信息()