java - AlarmManager.setAlarmClock() 未在 Android Pie 的右上角显示警报

标签 java android kotlin alarmmanager

我有一个闹钟应用程序,它使用以下代码为 Marshmallow 及更高版本的设备设置闹钟:

val alarmIntent: PendingIntent = Intent(context, AlarmReceiver::class.java).let { intent ->
    intent.putExtra(Const.EXTRA_ALARM_ID, alarm.alarmId)
    PendingIntent.getBroadcast(context, 
                               alarm.calculateBroadcastId(dayOfWeek),
                               intent, 
                               PendingIntent.FLAG_UPDATE_CURRENT)
}

alarmManager.setAlarmClock(
            AlarmManager.AlarmClockInfo(calendar.timeInMillis, alarmIntent),
            preAlarmIntent)

按预期工作并在所有设备上的右上角显示警报图标(见附件)那些运行 Android Pie 的设备。

更新: 并非在所有运行 Android Pie 的设备上,目前只有三星 (S8)。

是否有任何额外的代码我应该添加到待定 Intent 或某处以显示此图标?

运行 Android Oreo (OS 8.1) 并按预期显示闹钟图标的设备照片: enter image description here

最佳答案

在 android Pie 中,对在后台运行的应用程序进行了限制。
这是由于引入了改进设备电源管理的新功能。

这些特性在android开发者文档中有详细的解释。
可以在这个Link查看详情.
希望对你有帮助!

关于java - AlarmManager.setAlarmClock() 未在 Android Pie 的右上角显示警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55124734/

相关文章:

java - 如何获取 SVN 存储库的 "realm"值?

android - Horizo​​ntalScrollView 自定义适配器?

java - Kotlin,代表一个尚未定义的值

java - JSP - 从 jsp 测验应用程序中获取分数

java - 创建 Restful 客户端后在 Maven 中出现异常

Android:什么是 InputConnectionWrapper,它有什么作用?

android - 如何冰重启?

java - 如何将表转换为Spring Data实体?

kotlin - Kotlin 的函数式主函数参数解析

java - 如何在自定义插件中包含Java编译任务?