Java 禁用Oreo通知点

Java 禁用Oreo通知点,java,android,notifications,android-8.0-oreo,badge,Java,Android,Notifications,Android 8.0 Oreo,Badge,在Oreo(API 18)上,我不想使用通知点。 但它显示通知点默认值。 例如,YouTube推送通知,但不使用通知点 我正在使用通知频道 我试着用 NotificationChannel.setShowBadge(false) 但它不起作用。 我该怎么做 youtube-没有通知点 myApp-具有通知点 在Oreo下创建通知时,必须创建频道实例并将其分配给通知。您可以在实例上使用setShowBadge 下面是我正确移除徽章的代码 NotificationManager notific

在Oreo(API 18)上,我不想使用通知点。
但它显示通知点默认值。
例如,YouTube推送通知,但不使用通知点

我正在使用通知频道 我试着用

NotificationChannel.setShowBadge(false)
但它不起作用。
我该怎么做


youtube-没有通知点

myApp-具有通知点


在Oreo下创建通知时,必须创建频道实例并将其分配给通知。您可以在实例上使用
setShowBadge

下面是我正确移除徽章的代码

NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);

String CHANNEL_ID = "my_channel";
CharSequence name = context.getString(R.string.channel_name);

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, NotificationManager.IMPORTANCE_LOW);
    channel.setShowBadge(false);

    notificationManager.createNotificationChannel(channel);
}

NotificationCompat.Builder builder = new NotificationCompat.Builder(
        context, CHANNEL_ID).setSmallIcon(iconID)
        .setContentTitle(task.taskTitle)
        .setContentText(task.taskNote).setOngoing(true).setWhen(0)
        .setChannelId(CHANNEL_ID)
        .setSound(null)
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);

notificationManager.notify(task.driveId, NOTIFICATION_ID, builder.build());

在Oreo下创建通知时,必须创建通道实例并将其分配给通知。您可以在实例上使用
setShowBadge

下面是我正确移除徽章的代码

NotificationManager notificationManager = (NotificationManager) context
            .getSystemService(Context.NOTIFICATION_SERVICE);

String CHANNEL_ID = "my_channel";
CharSequence name = context.getString(R.string.channel_name);

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, NotificationManager.IMPORTANCE_LOW);
    channel.setShowBadge(false);

    notificationManager.createNotificationChannel(channel);
}

NotificationCompat.Builder builder = new NotificationCompat.Builder(
        context, CHANNEL_ID).setSmallIcon(iconID)
        .setContentTitle(task.taskTitle)
        .setContentText(task.taskNote).setOngoing(true).setWhen(0)
        .setChannelId(CHANNEL_ID)
        .setSound(null)
        .setPriority(NotificationCompat.PRIORITY_DEFAULT);

notificationManager.notify(task.driveId, NOTIFICATION_ID, builder.build());