NotificationManagerpublic 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}. |
Fields Summary |
---|
private static String | TAG | private static boolean | DEBUG | private static boolean | localLOGV | private static INotificationManager | sService | private android.content.Context | mContext |
Methods Summary |
---|
public void | cancel(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 void | cancelAll()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 INotificationManager | getService()
if (sService != null) {
return sService;
}
IBinder b = ServiceManager.getService("notification");
sService = INotificationManager.Stub.asInterface(b);
return sService;
| public void | notify(int id, Notification notification)Persistent notification on the status bar,
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) {
}
|
|