根据https://developer.android.com/training/notify-user/badges 从Android 8开始,该操作系统允许设置应用程序图标通知徽章,但我无法使其正常工作。
NotificationManagerCompat nm = NotificationManagerCompat.from(activityContext);
if (Build.VERSION.SDK_INT >= 26) {
NotificationChannel nc = new NotificationChannel("ab", "chanelName", NotificationManager.IMPORTANCE_DEFAULT);
nc.setDescription("A chanel description here");
nc.setShowBadge(true);
NotificationManager nmm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nmm.createNotificationChannel(nc);
}
NotificationCompat.Builder nb = new NotificationCompat.Builder(App.instance, "ab");
nb.setSmallIcon(R.drawable.accept_icon);
nb.setTicker("here is the ticker");
nb.setContentText("Here content text");
nb.setContentTitle("Here content title");
nb.setNumber(5);
nb.setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL);
nm.notify(1, nb.build());
我正在将Nexus 6P与android 8.1配合使用。 它在系统栏中显示通知,但不显示应用程序图标上的标志。 我想念什么?
答案 0 :(得分:2)
我认为您的代码很好,但Nexus 6P不支持默认启动器上的通知标志。您要么需要在其他设备(Pixel或类似的设备上测试它,当然,您可以将仿真器与Oreo或更高版本配合使用),要么下载支持Oreo通知徽章的启动器。
有人有类似的问题。 在此处阅读更多信息:https://productforums.google.com/forum/#!topic/nexus/NykQ-lp1n2c