Может ли уведомление Android отображаться более одного раза без отмены пользователем?

Мое приложение нацелено на:

minSdkVersion 21
targetSdkVersion 25

Я могу отобразить хедз-ап уведомление с помощью этого:

NotificationCompat.Builder notificationBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(activity)
            .setPriority(Notification.PRIORITY_MAX)
            .setAutoCancel(true);
notificationBuilder.setVibrate(new long[0]);
((NotificationManager) activity.getSystemService(Context.NOTIFICATION_SERVICE))
            .notify(9999, notificationBuilder.build());

Когда приложение пытается отобразить другое всплывающее уведомление с тем же идентификатором, но с другим сообщением, уведомление обновляется, но не отображается как новое всплывающее уведомление. Уведомление больше не отображается поверх приложения.

Можно ли дважды показывать всплывающее уведомление с одним и тем же идентификатором без отмены пользователем первого уведомления?


person Lou Morda    schedule 17.07.2017    source источник
comment
почему бы просто не отменить уведомление перед показом нового?   -  person tyczj    schedule 17.07.2017
comment
Я пробовал это и получаю странное поведение. Значок уведомления исчезает, а затем снова появляется с новым сообщением, но не показывает хедз-ап! Я попробовал .cancel() с идентификатором, а также .cancelAll()   -  person Lou Morda    schedule 17.07.2017


Ответы (1)


Я думаю, что метод setOnlyAlertOnce() это то, что вы ищете.

person kws    schedule 17.07.2017