我正在使用警报管理器每 5 分钟获取一次触发器。
报警接收器延伸WakefulBroadcastReceiver
收到警报触发后,它会通过 startWakefulService(context,service)
启动 IntentService 。收到onHandleIntent(Intent intent)
中的 Intent 后服务内的方法,应用程序执行一些所需的操作,并在此方法结束时,它通过调用 AlarmReceiver.completeWakefulIntent(intent)
释放唤醒锁.
我的应用程序运行良好,但在 logcat 中我看到 WakefulBroadcastReceiver
的警告消息。
Tag: WakefulBroadcastReceiver Warning message: No active wake lock id #1
每次触发时都会出现这些警告消息,并且 #number
每次都会增加。
我想知道应用程序设置的警报是否存在问题,因为消息数量逐渐增加。或者只是因为纵行锁不是由警报管理器创建的,而我的应用程序试图通过completeWakefulIntent
删除它.
最佳答案
很可能startWakefulService
和onHandleIntent
在不同的进程中执行。在这种情况下,调用静态 AlarmReceiver.completeWakefulIntent
的行为就像它起作用一样,但由于在该进程空间中找不到实际的唤醒锁,您将收到该警告消息。
关于android - 来自 WakefulBroadcastReceiver 的连续警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22847627/