Android APIs
public class

NotificationManager

extends Object
java.lang.Object
   ↳ android.app.NotificationManager

Class Overview

Class to notify the user of events that happen. This is how you tell the user that something has happened in the background.

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 and optionally a String tag parameter, which may be null. These parameters are used to form a pair (tag, id), or (null, id) if tag is unspecified. This pair identifies this notification from your app to the system, so that pair should be unique within your app. If you call one of the notify methods with a (tag, id) pair 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 tag and id you pass to the cancel(int) or cancel(String, int) method to clear this notification.

You do not instantiate this class directly; instead, retrieve it through getSystemService(Class).

Developer Guides

For a guide to creating notifications, read the Status Bar Notifications developer guide.

Summary

Nested Classes
class NotificationManager.Policy Notification policy configuration. 
Constants
String ACTION_INTERRUPTION_FILTER_CHANGED Intent that is broadcast when the state of getCurrentInterruptionFilter() changes.
String ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED Intent that is broadcast when the state of isNotificationPolicyAccessGranted() changes.
String ACTION_NOTIFICATION_POLICY_CHANGED Intent that is broadcast when the state of getNotificationPolicy() changes.
int INTERRUPTION_FILTER_ALARMS Interruption filter constant - Alarms only interruption filter.
int INTERRUPTION_FILTER_ALL Interruption filter constant - Normal interruption filter.
int INTERRUPTION_FILTER_NONE Interruption filter constant - No interruptions filter.
int INTERRUPTION_FILTER_PRIORITY Interruption filter constant - Priority interruption filter.
int INTERRUPTION_FILTER_UNKNOWN Interruption filter constant - returned when the value is unavailable for any reason.
Public Methods
void cancel(int id)
Cancel a previously shown notification.
void cancel(String tag, int id)
Cancel a previously shown notification.
void cancelAll()
Cancel all previously shown notifications.
StatusBarNotification[] getActiveNotifications()
Recover a list of active notifications: ones that have been posted by the calling app that have not yet been dismissed by the user or cancel(String, int)ed by the app.
final int getCurrentInterruptionFilter()
Gets the current notification interruption filter.
NotificationManager.Policy getNotificationPolicy()
Gets the current notification policy.
boolean isNotificationPolicyAccessGranted()
Checks the ability to read/modify notification policy for the calling package.
void notify(int id, Notification notification)
Post a notification to be shown in the status bar.
void notify(String tag, int id, Notification notification)
Post a notification to be shown in the status bar.
final void setInterruptionFilter(int interruptionFilter)
Sets the current notification interruption filter.
void setNotificationPolicy(NotificationManager.Policy policy)
Sets the current notification policy.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String ACTION_INTERRUPTION_FILTER_CHANGED

Added in API level 23

Intent that is broadcast when the state of getCurrentInterruptionFilter() changes. This broadcast is only sent to registered receivers.

Constant Value: "android.app.action.INTERRUPTION_FILTER_CHANGED"

public static final String ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED

Added in API level 23

Intent that is broadcast when the state of isNotificationPolicyAccessGranted() changes. This broadcast is only sent to registered receivers, and only to the apps that have changed.

Constant Value: "android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED"

public static final String ACTION_NOTIFICATION_POLICY_CHANGED

Added in API level 23

Intent that is broadcast when the state of getNotificationPolicy() changes. This broadcast is only sent to registered receivers.

Constant Value: "android.app.action.NOTIFICATION_POLICY_CHANGED"

public static final int INTERRUPTION_FILTER_ALARMS

Added in API level 23

Interruption filter constant - Alarms only interruption filter.

Constant Value: 4 (0x00000004)

public static final int INTERRUPTION_FILTER_ALL

Added in API level 23

Interruption filter constant - Normal interruption filter.

Constant Value: 1 (0x00000001)

public static final int INTERRUPTION_FILTER_NONE

Added in API level 23

Interruption filter constant - No interruptions filter.

Constant Value: 3 (0x00000003)

public static final int INTERRUPTION_FILTER_PRIORITY

Added in API level 23

Interruption filter constant - Priority interruption filter.

Constant Value: 2 (0x00000002)

public static final int INTERRUPTION_FILTER_UNKNOWN

Added in API level 23

Interruption filter constant - returned when the value is unavailable for any reason.

Constant Value: 0 (0x00000000)

Public Methods

public void cancel (int id)

Added in API level 1

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.

public void cancel (String tag, int id)

Added in API level 5

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.

public void cancelAll ()

Added in API level 1

Cancel all previously shown notifications. See cancel(int) for the detailed behavior.

public StatusBarNotification[] getActiveNotifications ()

Added in API level 23

Recover a list of active notifications: ones that have been posted by the calling app that have not yet been dismissed by the user or cancel(String, int)ed by the app. Each notification is embedded in a StatusBarNotification object, including the original tag and id supplied to notify() (via getTag() and getId()) as well as a copy of the original Notification object (via getNotification()).

Returns

public final int getCurrentInterruptionFilter ()

Added in API level 23

Gets the current notification interruption filter.

The interruption filter defines which notifications are allowed to interrupt the user (e.g. via sound & vibration) and is applied globally.

Returns
  • One of the INTERRUPTION_FILTER_ constants, or INTERRUPTION_FILTER_UNKNOWN when unavailable.

    Only available if policy access is granted to this package. See isNotificationPolicyAccessGranted().

public NotificationManager.Policy getNotificationPolicy ()

Added in API level 23

Gets the current notification policy.

Only available if policy access is granted to this package. See isNotificationPolicyAccessGranted().

public boolean isNotificationPolicyAccessGranted ()

Added in API level 23

Checks the ability to read/modify notification policy for the calling package.

Returns true if the calling package can read/modify notification policy.

Request policy access by sending the user to the activity that matches the system intent action ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS.

Use ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED to listen for user grant or denial of this access.

public void notify (int id, Notification notification)

Added in API level 1

Post a notification to be shown in the status bar. If a notification with the same id has already been posted by your application and has not yet been canceled, it will be replaced by the updated information.

Parameters
id An identifier for this notification unique within your application.
notification A Notification object describing what to show the user. Must not be null.

public void notify (String tag, int id, Notification notification)

Added in API level 5

Post a notification to be shown in the status bar. If a notification with the same tag and id has already been posted by your application and has not yet been canceled, it will be replaced by the updated information.

Parameters
tag A string identifier for this notification. May be null.
id An identifier for this notification. The pair (tag, id) must be unique within your application.
notification A Notification object describing what to show the user. Must not be null.

public final void setInterruptionFilter (int interruptionFilter)

Added in API level 23

Sets the current notification interruption filter.

The interruption filter defines which notifications are allowed to interrupt the user (e.g. via sound & vibration) and is applied globally.

Returns
  • One of the INTERRUPTION_FILTER_ constants, or INTERRUPTION_FILTER_UNKNOWN when unavailable.

    Only available if policy access is granted to this package. See isNotificationPolicyAccessGranted().

public void setNotificationPolicy (NotificationManager.Policy policy)

Added in API level 23

Sets the current notification policy.

Only available if policy access is granted to this package. See isNotificationPolicyAccessGranted().

Parameters
policy The new desired policy.