Thursday, 4 August 2011

NotificationManager & Status Bar Icon

How to set the icon of the app in Device's Status Bar and do notification process? Here it is how to do it:

public static void notifyIcon(Context context){

NotificationManager notifier = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.your_app_notification, "", System.currentTimeMillis());

*Setting these flags will stop clearing your icon
*from the status bar if the user does clear all 
    notification.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT;
    RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.custom_notification_layout);
    notification.contentView = contentView;
//If you want to open any activity on the click of the icon.

    Intent notificationIntent = new Intent(context, YourActivity.class);
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
    notification.contentIntent = contentIntent;
    notification.setLatestEventInfo(context, "title", null, contentIntent);
    notifier.notify(1, notification);

//To cancel the icon ...


Here is custom_notification_layout.xml

<?xml version = "1.0" encoding = "utf-8"?>
    android:padding="3dp" >


Note: Don't forget to clear your app icon when appropriate If you set above flag.

No comments:

Post a Comment