6

在 Android O 开发者预览版中,谷歌引入了应该显示在启动器图标上的通知徽章。我正在使用来自开发频道的 Android O 模拟器。我编写了一个简单的代码来显示通知徽章,但它似乎不起作用 -

        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#chooseBadgeIcon(int)

有没有人在这方面工作过?我错过了什么吗?

显示徽章在设置中启用。

在此处输入图像描述


也尝试过 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);
4

1 回答 1

7

的通知徽章示例Android-O似乎在早期预览版本的模拟器中不起作用。但是在最新版本的 Android-O 开发人员preview-3中,徽章可以正确显示,如“通知徽章”部分所述。

要显示通知徽章,您需要将通知通道的setShowBadge(boolean)设置为true。默认情况下,徽章将显示如下:

展示徽章的示例图片

长按后,如果有多个通知,则会显示计数。计数会根据活动通知自动增加/减少。您还可以使用 Notification.Builder.setNumber()手动调整计数。

长按启动器图标时显示通知计数的示例:

显示计数的徽章通知

确保您针对的是最新的 API:

compileSdkVersion 26 
buildToolsVersion "26.0.0"
targetSdkVersion 26

在像素 Android 模拟器版本中测试26.1.1

于 2017-06-13T18:06:44.803 回答