【问题标题】:Disabling Oreo Notification dot禁用奥利奥通知点
【发布时间】:2018-06-27 11:19:23
【问题描述】:
在 Oreo (API 18) 上,我不想使用通知点。
但它默认显示通知点。
例如,YouTube 推送通知,但不使用通知点。
我正在使用 NotificationChannel
我尝试使用
NotificationChannel.setShowBadge(false)
但它没有用。
我该怎么做?
youtube - 没有通知点
myApp - 有通知点
【问题讨论】:
标签:
java
android
notifications
android-8.0-oreo
badge
【解决方案1】:
当您在 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());