Android O:新版Android对位置更新有什么影响?

Android O:新版Android对位置更新有什么影响?,android,location,android-fusedlocation,android-8.0-oreo,Android,Location,Android Fusedlocation,Android 8.0 Oreo,我的应用程序当前正在使用pendingent.getBroadcast从FusedLocationApi接收位置更新。在Android O中,我的位置更新将受到怎样的影响?我浏览了此链接中提供的文档:。 但我仍然不能确定我的处境。我没有前台或后台服务从FusedLocationApi接收位置更新。我已经注册了一个广播接收器,它一直在收听FusedLocationApi的任何更新 提前感谢。是的,您的应用程序受到多方面的影响。无论您如何设置位置请求,您在一小时内只会收到几次更新。此外,您不能从接收

我的应用程序当前正在使用
pendingent.getBroadcast
从FusedLocationApi接收位置更新。在Android O中,我的位置更新将受到怎样的影响?我浏览了此链接中提供的文档:。 但我仍然不能确定我的处境。我没有前台或后台服务从FusedLocationApi接收位置更新。我已经注册了一个广播接收器,它一直在收听FusedLocationApi的任何更新


提前感谢。

是的,您的应用程序受到多方面的影响。无论您如何设置位置请求,您在一小时内只会收到几次更新。此外,您不能从接收器启动服务,只有在服务位于前台或用户将您的应用排除在电池优化之外时,您才能启动服务。所以,如果你真的需要频繁更新,你需要启动前台服务,以保持你的应用程序在前台。该服务可以是“空”(无工作),您可以保留当前的设计,目标只是将应用程序保持在前台

这取决于您的广播接收器是在后台还是前台运行。如果它是活动的一部分,那么位置更新应该像以前一样工作。在此上下文中,前台上的应用程序应该被解释为用户可见,无论是通过活动还是前台服务(作为通知可见)。My BroadcastReceiver扩展了WakefulBroadcastReceiver。每次接收到位置更新时,它都会在后台启动服务。您的广播接收器也在某个地方运行,问题是这是前台还是后台上下文。它在后台。您需要将其更改为不受Android O后台位置限制的影响。请看这里:你能详细说明一下“此外,你不能从你的接收器启动服务,只有当服务在前台或者用户将你的应用排除在电池优化之外时,你才能启动服务。”我还没有读到这方面的内容。另外,你能告诉我你在哪里找到这些信息的链接吗。谢谢,很有趣。非常感谢。几乎错过了这一点。我可以从后台接收器作为前台服务启动服务的次数是否有限制?不,没有限制,重要的是在前台启动。@greywolf82“此外,您不能从接收器启动服务,您只能在前台启动服务”:您可以,通过使用PendingEvent.getForegroundService或使用Context.startForegroundService。