Java 将IntentService与PendingEvent一起使用以接收后台位置更新

Java 将IntentService与PendingEvent一起使用以接收后台位置更新,java,android,ios,performance,android-studio,Java,Android,Ios,Performance,Android Studio,我搜索了很多地方,我使用LocationListener来获取位置更新,但一旦应用程序从后台删除,位置更新就会停止 然后我使用了一个位置更新服务(我点击了“允许所有时间”),它的工作非常完美,但问题是它的电池消耗非常快。若我选择“仅在使用应用程序时允许”,并将应用程序从后台删除,则即使我的服务已打开,应用程序仍会停止发送更新 请有人能帮助我使用IntentService和PendingEvent接收后台位置更新 我需要在7月底之前完成一个项目,我已经花了4天时间,请帮忙。如果位置更新对电池寿命有

我搜索了很多地方,我使用LocationListener来获取位置更新,但一旦应用程序从后台删除,位置更新就会停止

然后我使用了一个位置更新服务(我点击了“允许所有时间”),它的工作非常完美,但问题是它的电池消耗非常快。若我选择“仅在使用应用程序时允许”,并将应用程序从后台删除,则即使我的服务已打开,应用程序仍会停止发送更新

请有人能帮助我使用IntentService和PendingEvent接收后台位置更新


我需要在7月底之前完成一个项目,我已经花了4天时间,请帮忙。

如果位置更新对电池寿命有那么大的影响,你不应该频繁地进行轮询。但总的来说,我不建议在一项服务上为他们投票。在Android 10上,正如您所指出的,允许用户限制前台应用程序的位置更新。在Android 11中,每次使用应用程序都可以撤销权限。这意味着对于大量的用户群来说,这种行为在后台不会起作用


无论如何,如果您确实需要它们,尽管API发生了变化,请查看粗略位置权限和精细位置权限之间的差异。使用粗糙而不是精细将对您的电池耗电产生明显的影响。

您能帮我处理PendingEvent吗?我没有否决任何东西。那是另一个人,可能有很多原因。至于背景位置更新,谷歌有一个很好的示例项目,它比我可以在评论中更好地展示这一点