gpt4 book ai didi

android - Android Oreo 上的操作系统阻止了地理围栏转换 PendingIntent

转载 作者:太空狗 更新时间:2023-10-29 15:44:28 26 4
gpt4 key购买 nike

这只发生在 Android Oreo 上。我正在使用 Play 服务 11.4.2。我正在使用 GeofencingClient 和带有 pendingIntent 的 addGeofences 方法向处理地理围栏转换的 IntentService 注册地理围栏。看起来播放服务发送的 Intent 在某些情况下被操作系统阻止了。

系统记录以下内容:

Background start not allowed: service Intent { cmp=my.app.id/my.package.struct.GeofenceTransIntentService (has extras) } to my.app.id/my.package.struct.GeofenceTransIntentService from pid=-1 uid=10154 pkg=my.app.id

一旦我在以下情况下添加地理围栏:

  • 当我在设备启动后添加它时
  • 当我在刷应用后添加它时在这两种情况下,应用程序实际上已经在后台运行(因为我能够运行添加地理围栏的代码),因为我听取了 PROVIDERS_CHANGED、BOOT_COMPLETED。

最佳答案

这是由新的 Android Oreo background service limitations 引起的.

您必须将 PendingIntent 从使用 Service 更改为使用 BroadcastReceiver

查看此 CodeLab获取更多信息和示例代码。

关于android - Android Oreo 上的操作系统阻止了地理围栏转换 PendingIntent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46935145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com