У меня есть уведомление, представлено с помощью следующего кода:HeadsUp Уведомление не отображается на KitKat
// Create the notification
android.app.Notification systemNotification = new NotificationCompat.Builder(context)
// Set notification data and appearance
.setContentTitle(notification.getNotificationLabel())
.setContentText(notification.getMessage())
.setSmallIcon(notification.getNotificationDrawable())
.setWhen(new Date().getTime())
// Set notification options
.setCategory(NotificationCompat.CATEGORY_MESSAGE)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setDefaults(NotificationCompat.DEFAULT_ALL)
.build()
;
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(notification.getNotificationId(), systemNotification);
При запуске на Леденец и новее, он прекрасно работает и уведомление появляется как в строке состояния и в качестве всплывающего окна уведомление как ожидаемое/желаемое. В Kitkat уведомление появляется только в строке состояния, нет всплывающего уведомления. Я все еще могу открыть уведомление из строки состояния, и все выглядит и работает нормально, это просто сообщение всплывающего окна, которое отсутствует.
Некоторые из вещей, которые я пытался до сих пор:
- различных вариантов
setDefaults
- различных вариантов
setPriority
- подтвердил, что уведомления находятся на в панели настроек системы для применения
Спасибо, это было в значительной степени моим предположением, но я не мог найти ничего, что прямо сказано об этом, особенно от Google. –
@DavidBerry: http://developer.android.com/about/versions/android-5.0-changes.html#BehaviorNotifications – CommonsWare
Отлично! Только то, что мне нужно для QA. –