通过标准SDK在Android 8上显示应用程序图标徽章

时间:2018-09-26 21:19:50

标签: java android android-studio

根据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配合使用。 它在系统栏中显示通知,但不显示应用程序图标上的标志。 我想念什么?

1 个答案:

答案 0 :(得分:2)

我认为您的代码很好,但Nexus 6P不支持默认启动器上的通知标志。您要么需要在其他设备(Pixel或类似的设备上测试它,当然,您可以将仿真器与Oreo或更高版本配合使用),要么下载支持Oreo通知徽章的启动器。

有人有类似的问题。 在此处阅读更多信息:https://productforums.google.com/forum/#!topic/nexus/NykQ-lp1n2c