首页 > 解决方案 > 当应用程序关闭时,WakefulBroadcastReceiver 不起作用

问题描述

请帮帮我,没有调用唤醒广播接收器,我已经在警报管理器的帮助下使用带有RTC_WAKEUP的setExactAndAllowIdle()设置了一个警报,但是当应用程序关闭时我的广播接收器仍然没有被调用(意味着应用程序从最近被刷了应用)。我正在使用 android 8。实际上,我想创建一个在设置的确切时间触发的警报应用程序,即使应用程序已关闭或设备已锁定。

标签: android

解决方案


这可能是因为自WakefulBroadcastReceiverAndroid O 起已弃用,通常不应再使用。从文档中:

已弃用:从 Android O 开始,背景检查限制使此类不再普遍有用。(从接收到广播开始服务通常是不安全的,因为此时您无法保证您的应用程序处于前台,因此允许这样做。)相反,开发人员应该使用 android. app.job.JobScheduler 来安排作业,这并不要求应用程序在执行此操作时持有唤醒锁(系统将负责为作业持有唤醒锁)。

https://developer.android.com/reference/kotlin/androidx/legacy/content/WakefulBroadcastReceiver


推荐阅读