我一直在使用警报管理器在一天中的特定时间间隔显示通知。 当应用程序被终止/清除时,现在显示通知的功能将停止工作。
阅读此主题的答案后: setExactAndAllowWhileIdle() for alarmmanager is not working properly
我关闭了应用程序的电池优化(我也可以通过编程方式执行此操作),即使应用程序未运行,我也开始收到通知。我已经尝试过工作管理器(仍处于 alpha 版本)。它也有同样的问题,尽管它表示将考虑每种可能的情况来执行任务。这个问题主要与奥利奥有关。正在寻找相同的修复方法。如果需要,将发布代码 fragment 。
注意:我希望我的应用程序位于优化列表中,因此我避免使用这种方法。另外,我也尝试过 setAlarmClock,同样的问题仍然存在,并且它还在主屏幕上将时间间隔显示为闹钟。
最佳答案
我遇到了完全相同的问题,经过数小时的研究,我发现“高级优化”限制了我的应用程序在 OP 5T 上的此功能,并且它在 Pixel 2 模拟器上运行良好。该设置位于电池 -> 电池优化 -> 3 点 -> 高级优化下。我仍然不知道这是否是默认预选的。 OOS 正在为我的应用“优化电池使用”,只要禁用高级优化,它就可以工作。
关于android - 由于奥利奥、一加 3 中的电池优化,警报管理器无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50816276/