Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show Android Notifications on screen as well as status bar icon?

I feel like this should be trivial but I can't seem to make a notification show up on the phone's screen - it only shows up in the status bar at the top.

For an example of what I want to do, here's how Facebook Messenger shows up on the screen when you receive a message.

Facebook on-screen notification

Whenever I send a notification, all it does is show the little icon in the status bar - even if I set the priority to PRIORITY_MAX. Is there another setting I need to do to make it show on screen instead of just status bar?

The Notification display code:

PendingIntent contentIntent = PendingIntent.getActivity(context, nextId++, intent, PendingIntent.FLAG_CANCEL_CURRENT);

Notification.Builder builder = new Notification.Builder(context)
       .setContentTitle(title)
       .setContentText(description)
       .setContentIntent(contentIntent)
       .setSmallIcon(R.drawable.ic_stat_notification)
       .setLargeIcon(largeIcon)
       .setPriority(Notification.PRIORITY_DEFAULT)
       .setAutoCancel(true)
       .setDefaults(Notification.DEFAULT_ALL);

if (android.os.Build.VERSION.SDK_INT >= 21) {
    builder.setColor(context.getResources().getColor(R.color.orange_500))
           .setVisibility(Notification.VISIBILITY_PUBLIC);
}

Notification notification = builder.build();
notificationManager.notify(id, notification);
like image 948
Andrew Cross Avatar asked May 12 '15 19:05

Andrew Cross


People also ask

Why are my notifications not showing in the Status bar?

Cause of Notifications Not Showing up on AndroidDo Not Disturb or Airplane Mode is on. Either system or app notifications are disabled. Power or data settings are preventing apps from retrieving notification alerts. Outdated apps or OS software can cause apps to freeze or crash and not deliver notifications.

How do I show app notifications on Android home screen icon?

If you want to change badge with number, you can be changed in NOTIFICATION SETTING on the notification panel or Settings > Notifications > App icon badges > Select Show with number.


1 Answers

Another point, make sure the 'importance' of the notification channel you have set up for your notification is set to NotificationManager.IMPORTANCE_HIGH.

This configures how visually intrusive notifications posted to this channel are and 'high' will allow it to peek. If you have this set to NotificationManager.IMPORTANCE_DEFAULT then it won't!

Bear in mind when configuring a notification channel, once the code has ran on your device, you won't be able to alter this again. So if you need to change the importance you will need to uninstall the app and then re-run and you should see the notification on your screen!

like image 171
Cameron Avatar answered Sep 30 '22 03:09

Cameron