【问题标题】:Use IntentService with PendingIntent to receive background location updates使用 IntentService 和 PendingIntent 接收后台位置更新
【发布时间】:2020-11-08 08:15:47
【问题描述】:

我到处搜索,我正在使用 LocationListener 来获取位置更新,但是一旦从后台删除应用程序,位置更新就会停止。

然后我使用了位置更新服务(我一直点击“允许”),它的工作非常完美,但问题是它很快耗尽了电池。如果我选择“仅在使用应用程序时允许”,并从后台删除应用程序,即使我的服务已开启,它也会再次停止发送更新!

请有人帮助我使用带有 PendingIntent 的 IntentService 来接收后台位置更新。

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

【问题讨论】:

    标签: java android ios performance android-studio


    【解决方案1】:

    如果位置更新对电池寿命有如此显着的影响,您不应该如此频繁地轮询位置更新。但总的来说,我不建议尝试在服务上轮询他们。正如您所指出的,在 Android 10 及更高版本上,允许用户将位置更新限制为处于前台的应用程序。在 Android 11 中,每次使用该应用程序都可以撤销该权限。对于大量用户群来说,这种行为在后台不会起作用。

    无论如何,如果您确实需要它们,尽管 API 发生了变化,请查看粗略和精细位置权限之间的区别。使用 Coarse over Fine 会显着降低电池消耗。

    【讨论】:

    • 你能帮我处理 PendingIntent 吗?
    • 我没有投反对票。那是其他人,可能有多种原因。至于后台位置更新,谷歌有一个很好的示例项目,它可以更好地展示这一点,然后我可以在评论中github.com/android/location-samples/tree/…
    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多