android - 当应用程序关闭时,WakefulBroadcastReceiver 不起作用
问题描述
请帮帮我,没有调用唤醒广播接收器,我已经在警报管理器的帮助下使用带有RTC_WAKEUP的setExactAndAllowIdle()设置了一个警报,但是当应用程序关闭时我的广播接收器仍然没有被调用(意味着应用程序从最近被刷了应用)。我正在使用 android 8。实际上,我想创建一个在设置的确切时间触发的警报应用程序,即使应用程序已关闭或设备已锁定。
解决方案
这可能是因为自WakefulBroadcastReceiver
Android O 起已弃用,通常不应再使用。从文档中:
已弃用:从 Android O 开始,背景检查限制使此类不再普遍有用。(从接收到广播开始服务通常是不安全的,因为此时您无法保证您的应用程序处于前台,因此允许这样做。)相反,开发人员应该使用 android. app.job.JobScheduler 来安排作业,这并不要求应用程序在执行此操作时持有唤醒锁(系统将负责为作业持有唤醒锁)。
https://developer.android.com/reference/kotlin/androidx/legacy/content/WakefulBroadcastReceiver
推荐阅读
- opencv - 使用opencv去除硬币阴影
- ios - 如何在 UIInputView 上设置 inputViewStyle(在 XIB 中初始化)?
- react-native - 如何在移动设备之间获得近一米的精度
- php - 帖子中的 WP 不可删除列
- python - (只能将str(不是“int”)连接到str)这是我得到的错误为什么它说我正在尝试添加字符串和int?
- javascript - 如何在鼠标悬停时让图标连续显示
- python - 获取给定边界的 grib 值的替代(更快)方法?
- python - MySQL中的多表插入
- node.js - AWS Lamda api 无法从浏览器显示语法错误
- python - python tkinter中的简单抛硬币