在Oreo(API 18)上,我不想使用通知点。
但它显示默认的通知点。
例如,YouTube推送通知,但不使用通知点。
我正在使用NotificationChannel 我尝试使用
NotificationChannel.setShowBadge(false)
但是没有用。
我该怎么办?
youtube-没有通知点
myApp-带有通知点
答案 0 :(得分:3)
在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());