在 Oreo (API 18) 上,我不想使用通知点。
但它默认显示通知点。
例如,YouTube 推送通知但不使用通知点。
我正在使用NotificationChannel 我尝试使用
NotificationChannel.setShowBadge(false)
但是没有成功。
我怎样才能做到这一点?
youtube - 没有通知点
myApp - 有通知点
最佳答案
当您在 Oreo 下创建通知时,您必须创建一个 channel 实例并将其分配给通知。您在实例上使用 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());
关于java - 禁用奥利奥通知点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061462/