FileDocCategorySizeDatePackage
NotificationManager.javaAPI DocAndroid 1.5 API4683Wed May 06 22:41:54 BST 2009android.app

NotificationManager

public class NotificationManager extends Object
Class to notify the user of events that happen. This is how you tell the user that something has happened in the background. {@more} Notifications can take different forms:
  • A persistent icon that goes in the status bar and is accessible through the launcher, (when the user selects it, a designated Intent can be launched),
  • Turning on or flashing LEDs on the device, or
  • Alerting the user by flashing the backlight, playing a sound, or vibrating.

Each of the notify methods takes an int id parameter. This id identifies this notification from your app to the system, so that id should be unique within your app. If you call one of the notify methods with an id that is currently active and a new set of notification parameters, it will be updated. For example, if you pass a new status bar icon, the old icon in the status bar will be replaced with the new one. This is also the same id you pass to the {@link #cancel} method to clear this notification.

You do not instantiate this class directly; instead, retrieve it through {@link android.content.Context#getSystemService}.

see
android.app.Notification
see
android.content.Context#getSystemService

Fields Summary
private static String
TAG
private static boolean
DEBUG
private static boolean
localLOGV
private static INotificationManager
sService
private android.content.Context
mContext
Constructors Summary
NotificationManager(android.content.Context context, android.os.Handler handler)

        mContext = context;
    
Methods Summary
public voidcancel(int id)
Cancel a previously shown notification. If it's transient, the view will be hidden. If it's persistent, it will be removed from the status bar.

        INotificationManager service = getService();
        String pkg = mContext.getPackageName();
        if (localLOGV) Log.v(TAG, pkg + ": cancel(" + id + ")");
        try {
            service.cancelNotification(pkg, id);
        } catch (RemoteException e) {
        }
    
public voidcancelAll()
Cancel all previously shown notifications. See {@link #cancel} for the detailed behavior.

        INotificationManager service = getService();
        String pkg = mContext.getPackageName();
        if (localLOGV) Log.v(TAG, pkg + ": cancelAll()");
        try {
            service.cancelAllNotifications(pkg);
        } catch (RemoteException e) {
        }
    
private static INotificationManagergetService()


       
    
        if (sService != null) {
            return sService;
        }
        IBinder b = ServiceManager.getService("notification");
        sService = INotificationManager.Stub.asInterface(b);
        return sService;
    
public voidnotify(int id, Notification notification)
Persistent notification on the status bar,

param
id An identifier for this notification unique within your application.
param
notification A {@link Notification} object describing how to notify the user, other than the view you're providing. Must not be null.

        int[] idOut = new int[1];
        INotificationManager service = getService();
        String pkg = mContext.getPackageName();
        if (localLOGV) Log.v(TAG, pkg + ": notify(" + id + ", " + notification + ")");
        try {
            service.enqueueNotification(pkg, id, notification, idOut);
            if (id != idOut[0]) {
                Log.w(TAG, "notify: id corrupted: sent " + id + ", got back " + idOut[0]);
            }
        } catch (RemoteException e) {
        }