首页 > 解决方案 > 为什么使用 AlarmManager.setAlarmClock() 设置时,仅三星 Android 9 设备上不显示闹钟图标?

问题描述

我使用 AlarmManager.setAlarmClock() 来设置闹钟。包括三星在内的所有设备都会发出警报,但在装有 Android 9 的三星设备上,时钟附近的小警报图标(屏幕右上角)不见了。我在这里遗漏了什么?

我知道该问题也影响了 Google Clock 应用程序,但最近已修复。

我的代码:

val pendingAlarm = Intent(ACTION_FIRED)
    .apply {
        setClass(mContext, AlarmsReceiver::class.java)
        putExtra(EXTRA_ID, id)
        putExtra(EXTRA_TYPE, typeName)
     }
     .let { PendingIntent.getBroadcast(mContext, pendingAlarmRequestCode, it, PendingIntent.FLAG_UPDATE_CURRENT) }

 val pendingShowList = PendingIntent.getActivity(
     mContext,
     100500,
     Intent(mContext, AlarmsListActivity::class.java), PendingIntent.FLAG_UPDATE_CURRENT)

 am.setAlarmClock(AlarmManager.AlarmClockInfo(calendar.timeInMillis, pendingShowList), pendingAlarm)

标签: androidalarmmanagersamsung-mobileandroid-9.0-piesamsung-galaxy

解决方案


据我所知,我认为这是因为三星特定的安卓操作系统实现,并且似乎与三星操作系统实现本身有关。

我发现一个线程在讨论非常相似的事情,这可能会有所帮助:(在此处输入图像描述在这里找到:https ://www.reddit.com/r/GalaxyS9/comments/anck2x/google_clock_no_upcoming_alarm_iconnotification/ )

我在这里找到了关于同一主题的另一个讨论:(https://forums.androidcentral.com/samsung-galaxy-note-9/952204-alarm-icon.html在此处输入图像描述

在此处输入图像描述

似乎操作系统只在警报响起之前的特定时间显示警报指示(有些人大致说 30 分钟,也许 OP 可以测试以验证)

这个答案不是非常有用,而且有点全面,但它似乎依赖于三星设备上 android OS 的具体实现


推荐阅读