Reputation: 68945
With Android O developer preview google has introduced notification badges that are supposed to be shown on launcher icon. I am using emulator with Android O from dev channel.I wrote a simple code to show notification badge but it does not seem to work -
Notification notification = new Notification.Builder(getApplicationContext())
.chooseBadgeIcon(Notification.BADGE_ICON_SMALL)
.setSmallIcon(android.R.drawable.btn_star)
.setNumber(10)
.build();
mNotificationManager.notify(1, notification);
It just shows as normal notification.
API - https://developer.android.com/reference/android/app/Notification.Builder.html#chooseBadgeIcon(int)
Has anyone worked on this yet? Am I missing something?
Show badge is enabled in settings.
Tried with NotificationChannel too. Does not work -
NotificationChannel mChannel = new NotificationChannel("TestBadge_id", "TestBadgeName", NotificationManager.IMPORTANCE_HIGH);
mChannel.enableLights(true);
mChannel.setLightColor(Color.RED);
mChannel.setShowBadge(true);
mNotificationManager.createNotificationChannel(mChannel);
Notification notification = new Notification.Builder(getApplicationContext())
.chooseBadgeIcon(Notification.BADGE_ICON_SMALL)
.setSmallIcon(android.R.drawable.btn_star)
.setNumber(10)
.setChannel("TestBadge_id")
.build();
mNotificationManager.notify(1, notification);
Upvotes: 6
Views: 10023
Reputation: 5375
The Notification badge examples of Android-O
doesn't seem to work in emulator in early preview releases. But with the latest release of Android-O developer preview-3
the badges are displayed properly as documented in the Notification Badges section.
To display notification badge, you need to set the setShowBadge(boolean) for a notification channel to true
. By default badges will be displayed like below:
Upon long press if there is a more than a one notification the count is displayed.The count automatically increments/decrements based on the active notifications. You can also adjust the count manually by using the Notification.Builder.setNumber().
Sample showing notification count on long press of launcher icon:
Make sure you are targetting the latest API:
compileSdkVersion 26
buildToolsVersion "26.0.0"
targetSdkVersion 26
Tested in pixel Android emulator version 26.1.1
.
Upvotes: 7