android - 由于奥利奥、一加 3 中的电池优化,警报管理器无法工作

标签 android alarmmanager android-8.0-oreo android-workmanager

我一直在使用警报管理器在一天中的特定时间间隔显示通知。 当应用程序被终止/清除时,现在显示通知的功能将停止工作。

阅读此主题的答案后: 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/

相关文章:

java - 通过java代码从strings.xml将文本设置为textView时出错

java - Android Studio java.lang.NullPointerException : Attempt to invoke virtual method

android - 我无法在 Android Oreo 中收到 “android.provider.Telephony.SMS_RECEIVED” 这个广播

Android:使用警报管理器同时启动多个未决 Intent

java - 立即显示 Activity 而不是显示通知

android - Urban Airship Android GCM 未在 Android Oreo 和 Pie 上接收推送通知

Android 8.0,startActivityForResult设置,如果用户单击左上角的后退按钮,则不会返回到我的应用程序

c# - C#Android:在单击时播放声音

Android:事件 ACTION_POWER_CONNECTED 和 ACTION_POWER_DISCONNECTED 未发送到我的 BroadcastReceiver

java - WorkManager 一次执行 enqueueUniquePeriodicWork() 多次?