0

在我的 android 应用程序中,我正在使用该setAlarmClock()功能来安排警报。正如android文档所述,此警报:

代表闹钟,

这意味着小闹钟图标应显示在通知栏上,表示有闹钟未决。

我的安卓手机有一个MIUI overlay- 它是小米手机 ( SDK 29)。现在,当我安排闹钟时:

alarmManager.setAlarmClock(
    new AlarmManager.AlarmClockInfo(calendar.getTimeInMillis(), alarmPendingIntent),
    alarmPendingIntent);

它工作正常;它在提供的时间关闭,按预期唤醒设备等。但是缺少上述图标指示器 - 设置警报后,通知栏应该(至少在理论上)如下所示:

显示警报图标

但是,显然,它看起来像这样:

未显示警报图标

作为对比,在另一台安卓设备(SDK 24)上,这次使用EMUI overlay(华为),该setAlarmClock()功能使警报图标显示在通知栏上。

现在我不知道问题是MIUI具体的还是某些设置错误。有可能解决我的问题吗?

更新:据我所知,这个问题也与在MIUI我的其他设备下运行的 android 设备有关。似乎小米正在使用自己的似乎更私有的 API 来控制状态栏事件。

4

1 回答 1

0

从 Android 2.0 开始,系统要求应用程序在后台持续运行,并且需要一定的优先级,这样它们就不会被意外杀死(如音乐应用程序),放置一个 Ongoing Notification。这是为了防止在不让用户知道它正在发生的情况下滥用请求此级别的优先级。

你可以在这里阅读:http: //developer.android.com/reference/android/app/Service.html#startForeground%28int,%20android.app.Notification%29

于 2021-04-14T18:25:05.220 回答