作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这只发生在 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
一旦我在以下情况下添加地理围栏:
最佳答案
这是由新的 Android Oreo background service limitations 引起的.
您必须将 PendingIntent 从使用 Service 更改为使用 BroadcastReceiver。
查看此 CodeLab获取更多信息和示例代码。
关于android - Android Oreo 上的操作系统阻止了地理围栏转换 PendingIntent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46935145/
我是一名优秀的程序员,十分优秀!