AlarmManager.setAlarmClock () не показывает тревогу в верхнем правом углу на Android Pie - PullRequest
3 голосов
/ 12 марта 2019

У меня есть приложение тревоги, которое устанавливает тревогу, используя следующий код для устройств на Зефире и выше:

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 .

UPDATE: Пока не на всех устройствах с Android Pie, только на Samsung (S8).

Есть ли какой-нибудь дополнительный код, который я должен добавить в ожидающее намерение или где-то еще, чтобы показать этот значок?

Фотография устройства под управлением Android Oreo (OS 8.1) и с изображением значка тревоги, как и ожидалось: enter image description here

1 Ответ

0 голосов
/ 12 марта 2019

В Android Pie ограничения введены для приложений, работающих в фоновом режиме.Это связано с новыми функциями, введенными для улучшения управления питанием устройства.

Эти функции подробно описаны в документах для разработчиков Android.Вы можете проверить детали в этой ссылке .Надеюсь, это поможет вам!

...