Значки уведомлений не просыпаются в Android O

В Android O разработчик предварительного просмотра Google ввел значки уведомлений, которые должны отображаться на значке запуска. Я использую эмулятор с Android O из dev channel. Я написал простой код, чтобы показать значок уведомления, но он, похоже, не работает -

        Notification notification = new Notification.Builder(getApplicationContext())
                .chooseBadgeIcon(Notification.BADGE_ICON_SMALL)
                .setSmallIcon(android.R.drawable.btn_star)
                .setNumber(10)
                .build();

        mNotificationManager.notify(1, notification);

Это просто показывает как обычное уведомление.

API - https://developer.android.com/reference/android/app/Notification.Builder.html

Кто-нибудь еще работал над этим? Я что-то пропустил?

Показать значок включен в настройках.


Пробовал с NotificationChannel тоже. Не работает -

    NotificationChannel mChannel = new NotificationChannel("TestBadge_id", "TestBadgeName", NotificationManager.IMPORTANCE_HIGH);
    mChannel.enableLights(true);
    mChannel.setLightColor(Color.RED);
    mChannel.setShowBadge(true);
    mNotificationManager.createNotificationChannel(mChannel);


    Notification notification = new Notification.Builder(getApplicationContext())
                .chooseBadgeIcon(Notification.BADGE_ICON_SMALL)
                .setSmallIcon(android.R.drawable.btn_star)
                .setNumber(10)
            .setChannel("TestBadge_id")
                .build();

        mNotificationManager.notify(1, notification);

1 ответ

Примеры значков уведомлений Android-O похоже, не работает в эмуляторе в ранних выпусках предварительного просмотра. Но с последней версией Android-O разработчик preview-3значки отображаются правильно, как описано в разделе " Значки уведомлений ".

Чтобы отобразить значок уведомления, необходимо установить setShowBadge(логическое значение) для канала уведомления в true, По умолчанию значки будут отображаться, как показано ниже:

Образец изображения для демонстрации значков

При длительном нажатии, если имеется более одного уведомления, отображается счетчик. Счет автоматически увеличивается / уменьшается на основе активных уведомлений. Вы также можете настроить количество вручную, используя Notification.Builder.setNumber ().

Пример отображения количества уведомлений при длительном нажатии на значок запуска:

Уведомление о значке, показывающее количество

Убедитесь, что вы ориентируетесь на последний API:

compileSdkVersion 26 
buildToolsVersion "26.0.0"
targetSdkVersion 26

Протестировано в версии пиксельного эмулятора Android 26.1.1,

Другие вопросы по тегам