通知徽章在 Android 中不起作用 O

Notification Badges not woking in Android O

使用 Android O 开发者预览版 google 引入了应该显示在启动器图标上的通知标志。我正在使用带有 Android 的模拟器 O 来自 dev channel.I 写了一个简单的代码来显示通知徽章,但它似乎不起作用 -

        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);

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

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

如果有一个以上的通知,则长按后,计数会 displayed.The 根据活动通知自动计数 increments/decrements。您也可以使用 Notification.Builder.setNumber() 手动调整计数。

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

确保您定位的是最新的 API:

compileSdkVersion 26 
buildToolsVersion "26.0.0"
targetSdkVersion 26

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