Android APIs
public class

Notification

extends Object
implements Parcelable
java.lang.Object
   ↳ android.app.Notification

Class Overview

A class that represents how a persistent notification is to be presented to the user using the NotificationManager.

The Notification.Builder has been added to make it easier to construct Notifications.

Developer Guides

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

Summary

Nested Classes
class Notification.Action Structure to encapsulate a named action that can be shown as part of this notification. 
class Notification.BigPictureStyle Helper class for generating large-format notifications that include a large image attachment. 
class Notification.BigTextStyle Helper class for generating large-format notifications that include a lot of text. 
class Notification.Builder Builder class for Notification objects. 
class Notification.CarExtender

Helper class to add Android Auto extensions to notifications. 

interface Notification.Extender Extender interface for use with extend(Notification.Action.Extender)
class Notification.InboxStyle Helper class for generating large-format notifications that include a list of (up to 5) strings. 
class Notification.MediaStyle Notification style for media playback notifications. 
class Notification.Style An object that can apply a rich notification style to a Notification.Builder object. 
class Notification.WearableExtender Helper class to add wearable extensions to notifications. 
Constants
String CATEGORY_ALARM Notification category: alarm or timer.
String CATEGORY_CALL Notification category: incoming call (voice or video) or similar synchronous communication request.
String CATEGORY_EMAIL Notification category: asynchronous bulk message (email).
String CATEGORY_ERROR Notification category: error in background operation or authentication status.
String CATEGORY_EVENT Notification category: calendar event.
String CATEGORY_MESSAGE Notification category: incoming direct message (SMS, instant message, etc.).
String CATEGORY_PROGRESS Notification category: progress of a long-running background operation.
String CATEGORY_PROMO Notification category: promotion or advertisement.
String CATEGORY_RECOMMENDATION Notification category: a specific, timely recommendation for a single thing.
String CATEGORY_REMINDER Notification category: user-scheduled reminder.
String CATEGORY_SERVICE Notification category: indication of running background service.
String CATEGORY_SOCIAL Notification category: social network or sharing update.
String CATEGORY_STATUS Notification category: ongoing information about device or contextual status.
String CATEGORY_SYSTEM Notification category: system or device status update.
String CATEGORY_TRANSPORT Notification category: media transport control for playback.
int COLOR_DEFAULT Special value of color telling the system not to decorate this notification with any special color but instead use default colors when presenting this notification.
int DEFAULT_ALL Use all default values (where applicable).
int DEFAULT_LIGHTS Use the default notification lights.
int DEFAULT_SOUND Use the default notification sound.
int DEFAULT_VIBRATE Use the default notification vibrate.
String EXTRA_BACKGROUND_IMAGE_URI extras key: A content URI pointing to an image that can be displayed in the background when the notification is selected.
String EXTRA_BIG_TEXT extras key: this is the longer text shown in the big form of a Notification.BigTextStyle notification, as supplied to bigText(CharSequence).
String EXTRA_COMPACT_ACTIONS extras key: the indices of actions to be shown in the compact view, as supplied to (e.g.) setShowActionsInCompactView(int).
String EXTRA_INFO_TEXT extras key: this is a small piece of additional text as supplied to setContentInfo(CharSequence).
String EXTRA_LARGE_ICON extras key: this is a bitmap to be used instead of the small icon when showing the notification payload, as supplied to setLargeIcon(android.graphics.Bitmap).
String EXTRA_LARGE_ICON_BIG extras key: this is a bitmap to be used instead of the one from setLargeIcon(android.graphics.Bitmap) when the notification is shown in its expanded form, as supplied to bigLargeIcon(android.graphics.Bitmap).
String EXTRA_MEDIA_SESSION extras key: A MediaSession.Token associated with a Notification.MediaStyle notification.
String EXTRA_PEOPLE extras key: A String array containing the people that this notification relates to, each of which was supplied to addPerson(String).
String EXTRA_PICTURE extras key: this is a bitmap to be shown in Notification.BigPictureStyle expanded notifications, supplied to bigPicture(android.graphics.Bitmap).
String EXTRA_PROGRESS extras key: this is the progress value supplied to setProgress(int, int, boolean).
String EXTRA_PROGRESS_INDETERMINATE extras key: whether the progress bar is indeterminate, supplied to setProgress(int, int, boolean).
String EXTRA_PROGRESS_MAX extras key: this is the maximum value supplied to setProgress(int, int, boolean).
String EXTRA_SHOW_CHRONOMETER extras key: whether when should be shown as a count-up timer (specifically a Chronometer) instead of a timestamp, as supplied to setUsesChronometer(boolean).
String EXTRA_SHOW_WHEN extras key: whether when should be shown, as supplied to setShowWhen(boolean).
String EXTRA_SMALL_ICON extras key: this is the resource ID of the notification's main small icon, as supplied to setSmallIcon(int).
String EXTRA_SUB_TEXT extras key: this is a third line of text, as supplied to setSubText(CharSequence).
String EXTRA_SUMMARY_TEXT extras key: this is a line of summary information intended to be shown alongside expanded notifications, as supplied to (e.g.) setSummaryText(CharSequence).
String EXTRA_TEMPLATE extras key: A string representing the name of the specific Notification.Style used to create this notification.
String EXTRA_TEXT extras key: this is the main text payload, as supplied to setContentText(CharSequence).
String EXTRA_TEXT_LINES extras key: An array of CharSequences to show in Notification.InboxStyle expanded notifications, each of which was supplied to addLine(CharSequence).
String EXTRA_TITLE extras key: this is the title of the notification, as supplied to setContentTitle(CharSequence).
String EXTRA_TITLE_BIG extras key: this is the title of the notification when shown in expanded form, e.g.
int FLAG_AUTO_CANCEL Bit to be bitwise-ored into the flags field that should be set if the notification should be canceled when it is clicked by the user.
int FLAG_FOREGROUND_SERVICE Bit to be bitwise-ored into the flags field that should be set if this notification represents a currently running service.
int FLAG_GROUP_SUMMARY Bit to be bitswise-ored into the flags field that should be set if this notification is the group summary for a group of notifications.
int FLAG_HIGH_PRIORITY This constant was deprecated in API level 16. Use priority with a positive value.
int FLAG_INSISTENT Bit to be bitwise-ored into the flags field that if set, the audio will be repeated until the notification is cancelled or the notification window is opened.
int FLAG_LOCAL_ONLY Bit to be bitswise-ored into the flags field that should be set if this notification is relevant to the current device only and it is not recommended that it bridge to other devices.
int FLAG_NO_CLEAR Bit to be bitwise-ored into the flags field that should be set if the notification should not be canceled when the user clicks the Clear all button.
int FLAG_ONGOING_EVENT Bit to be bitwise-ored into the flags field that should be set if this notification is in reference to something that is ongoing, like a phone call.
int FLAG_ONLY_ALERT_ONCE Bit to be bitwise-ored into the flags field that should be set if you would only like the sound, vibrate and ticker to be played if the notification was not already showing.
int FLAG_SHOW_LIGHTS Bit to be bitwise-ored into the flags field that should be set if you want the LED on for this notification.
String INTENT_CATEGORY_NOTIFICATION_PREFERENCES An activity that provides a user interface for adjusting notification preferences for its containing application.
int PRIORITY_DEFAULT Default notification priority.
int PRIORITY_HIGH Higher priority, for more important notifications or alerts.
int PRIORITY_LOW Lower priority, for items that are less important.
int PRIORITY_MAX Highest priority, for your application's most important items that require the user's prompt attention or input.
int PRIORITY_MIN Lowest priority; these items might not be shown to the user except under special circumstances, such as detailed notification logs.
int STREAM_DEFAULT This constant was deprecated in API level 21. Use audioAttributes instead.
int VISIBILITY_PRIVATE Notification visibility: Show this notification on all lockscreens, but conceal sensitive or private information on secure lockscreens.
int VISIBILITY_PUBLIC Notification visibility: Show this notification in its entirety on all lockscreens.
int VISIBILITY_SECRET Notification visibility: Do not reveal any part of this notification on a secure lockscreen.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final AudioAttributes AUDIO_ATTRIBUTES_DEFAULT The default value of audioAttributes.
public static final Creator<Notification> CREATOR Parcelable.Creator that instantiates Notification objects
public Action[] actions Array of all Notification.Action structures attached to this notification by addAction(int, CharSequence, PendingIntent).
public AudioAttributes audioAttributes The audio attributes to use when playing the sound.
public int audioStreamType This field was deprecated in API level 21. Use audioAttributes instead.
public RemoteViews bigContentView A large-format version of contentView, giving the Notification an opportunity to show more detail.
public String category One of the predefined notification categories (see the CATEGORY_* constants) that best describes this Notification.
public int color Accent color (an ARGB integer like the constants in Color) to be applied by the standard Style templates when presenting this notification.
public PendingIntent contentIntent The intent to execute when the expanded status entry is clicked.
public RemoteViews contentView The view that will represent this notification in the expanded status bar.
public int defaults Specifies which values should be taken from the defaults.
public PendingIntent deleteIntent The intent to execute when the notification is explicitly dismissed by the user, either with the "Clear All" button or by swiping it away individually.
public Bundle extras Additional semantic data to be carried around with this Notification.
public int flags
public PendingIntent fullScreenIntent An intent to launch instead of posting the notification to the status bar.
public RemoteViews headsUpContentView A medium-format version of contentView, providing the Notification an opportunity to add action buttons to contentView.
public int icon This field was deprecated in API level 23. Use setSmallIcon(Icon) instead.
public int iconLevel If the icon in the status bar is to have more than one level, you can set this.
public Bitmap largeIcon This field was deprecated in API level 23. Use setLargeIcon(Icon) instead.
public int ledARGB The color of the led.
public int ledOffMS The number of milliseconds for the LED to be off while it's flashing.
public int ledOnMS The number of milliseconds for the LED to be on while it's flashing.
public int number The number of events that this notification represents.
public int priority Relative priority for this notification.
public Notification publicVersion Replacement version of this notification whose content will be shown in an insecure context such as atop a secure keyguard.
public Uri sound The sound to play.
public CharSequence tickerText Text that summarizes this notification for accessibility services.
public RemoteViews tickerView Formerly, a view showing the tickerText.
public long[] vibrate The pattern with which to vibrate.
public int visibility Sphere of visibility of this notification, which affects how and when the SystemUI reveals the notification's presence and contents in untrusted situations (namely, on the secure lockscreen).
public long when A timestamp related to this notification, in milliseconds since the epoch.
Public Constructors
Notification()
Constructs a Notification object with default values.
Notification(int icon, CharSequence tickerText, long when)
This constructor was deprecated in API level 11. Use Notification.Builder instead.
Notification(Parcel parcel)
Unflatten the notification from a parcel.
Public Methods
Notification clone()
Creates and returns a copy of this Object.
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
String getGroup()
Get the key used to group this notification into a cluster or stack with other notifications on devices which support such rendering.
Icon getLargeIcon()
The large icon shown in this notification's content view.
Icon getSmallIcon()
The small icon representing this notification in the status bar and content view.
String getSortKey()
Get a sort key that orders this notification among other notifications from the same package.
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel parcel, int flags)
Flatten this notification into a parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final String CATEGORY_ALARM

Added in API level 21

Notification category: alarm or timer.

Constant Value: "alarm"

public static final String CATEGORY_CALL

Added in API level 21

Notification category: incoming call (voice or video) or similar synchronous communication request.

Constant Value: "call"

public static final String CATEGORY_EMAIL

Added in API level 21

Notification category: asynchronous bulk message (email).

Constant Value: "email"

public static final String CATEGORY_ERROR

Added in API level 21

Notification category: error in background operation or authentication status.

Constant Value: "err"

public static final String CATEGORY_EVENT

Added in API level 21

Notification category: calendar event.

Constant Value: "event"

public static final String CATEGORY_MESSAGE

Added in API level 21

Notification category: incoming direct message (SMS, instant message, etc.).

Constant Value: "msg"

public static final String CATEGORY_PROGRESS

Added in API level 21

Notification category: progress of a long-running background operation.

Constant Value: "progress"

public static final String CATEGORY_PROMO

Added in API level 21

Notification category: promotion or advertisement.

Constant Value: "promo"

public static final String CATEGORY_RECOMMENDATION

Added in API level 21

Notification category: a specific, timely recommendation for a single thing. For example, a news app might want to recommend a news story it believes the user will want to read next.

Constant Value: "recommendation"

public static final String CATEGORY_REMINDER

Added in API level 23

Notification category: user-scheduled reminder.

Constant Value: "reminder"

public static final String CATEGORY_SERVICE

Added in API level 21

Notification category: indication of running background service.

Constant Value: "service"

public static final String CATEGORY_SOCIAL

Added in API level 21

Notification category: social network or sharing update.

Constant Value: "social"

public static final String CATEGORY_STATUS

Added in API level 21

Notification category: ongoing information about device or contextual status.

Constant Value: "status"

public static final String CATEGORY_SYSTEM

Added in API level 21

Notification category: system or device status update. Reserved for system use.

Constant Value: "sys"

public static final String CATEGORY_TRANSPORT

Added in API level 21

Notification category: media transport control for playback.

Constant Value: "transport"

public static final int COLOR_DEFAULT

Added in API level 21

Special value of color telling the system not to decorate this notification with any special color but instead use default colors when presenting this notification.

Constant Value: 0 (0x00000000)

public static final int DEFAULT_ALL

Added in API level 1

Use all default values (where applicable).

Constant Value: -1 (0xffffffff)

public static final int DEFAULT_LIGHTS

Added in API level 1

Use the default notification lights. This will ignore the FLAG_SHOW_LIGHTS bit, and ledARGB, ledOffMS, or ledOnMS.

See Also
Constant Value: 4 (0x00000004)

public static final int DEFAULT_SOUND

Added in API level 1

Use the default notification sound. This will ignore any given sound.

A notification that is noisy is more likely to be presented as a heads-up notification.

See Also
Constant Value: 1 (0x00000001)

public static final int DEFAULT_VIBRATE

Added in API level 1

Use the default notification vibrate. This will ignore any given vibrate. Using phone vibration requires the VIBRATE permission.

A notification that vibrates is more likely to be presented as a heads-up notification.

See Also
Constant Value: 2 (0x00000002)

public static final String EXTRA_BACKGROUND_IMAGE_URI

Added in API level 21

extras key: A content URI pointing to an image that can be displayed in the background when the notification is selected. The URI must point to an image stream suitable for passing into BitmapFactory.decodeStream; all other content types will be ignored. The content provider URI used for this purpose must require no permissions to read the image data.

Constant Value: "android.backgroundImageUri"

public static final String EXTRA_BIG_TEXT

Added in API level 21

extras key: this is the longer text shown in the big form of a Notification.BigTextStyle notification, as supplied to bigText(CharSequence).

Constant Value: "android.bigText"

public static final String EXTRA_COMPACT_ACTIONS

Added in API level 21

extras key: the indices of actions to be shown in the compact view, as supplied to (e.g.) setShowActionsInCompactView(int).

Constant Value: "android.compactActions"

public static final String EXTRA_INFO_TEXT

Added in API level 19

extras key: this is a small piece of additional text as supplied to setContentInfo(CharSequence).

Constant Value: "android.infoText"

public static final String EXTRA_LARGE_ICON

Added in API level 19

extras key: this is a bitmap to be used instead of the small icon when showing the notification payload, as supplied to setLargeIcon(android.graphics.Bitmap).

Constant Value: "android.largeIcon"

public static final String EXTRA_LARGE_ICON_BIG

Added in API level 19

extras key: this is a bitmap to be used instead of the one from setLargeIcon(android.graphics.Bitmap) when the notification is shown in its expanded form, as supplied to bigLargeIcon(android.graphics.Bitmap).

Constant Value: "android.largeIcon.big"

public static final String EXTRA_MEDIA_SESSION

Added in API level 21

extras key: A MediaSession.Token associated with a Notification.MediaStyle notification.

Constant Value: "android.mediaSession"

public static final String EXTRA_PEOPLE

Added in API level 19

extras key: A String array containing the people that this notification relates to, each of which was supplied to addPerson(String).

Constant Value: "android.people"

public static final String EXTRA_PICTURE

Added in API level 19

extras key: this is a bitmap to be shown in Notification.BigPictureStyle expanded notifications, supplied to bigPicture(android.graphics.Bitmap).

Constant Value: "android.picture"

public static final String EXTRA_PROGRESS

Added in API level 19

extras key: this is the progress value supplied to setProgress(int, int, boolean).

Constant Value: "android.progress"

public static final String EXTRA_PROGRESS_INDETERMINATE

Added in API level 19

extras key: whether the progress bar is indeterminate, supplied to setProgress(int, int, boolean).

Constant Value: "android.progressIndeterminate"

public static final String EXTRA_PROGRESS_MAX

Added in API level 19

extras key: this is the maximum value supplied to setProgress(int, int, boolean).

Constant Value: "android.progressMax"

public static final String EXTRA_SHOW_CHRONOMETER

Added in API level 19

extras key: whether when should be shown as a count-up timer (specifically a Chronometer) instead of a timestamp, as supplied to setUsesChronometer(boolean).

Constant Value: "android.showChronometer"

public static final String EXTRA_SHOW_WHEN

Added in API level 19

extras key: whether when should be shown, as supplied to setShowWhen(boolean).

Constant Value: "android.showWhen"

public static final String EXTRA_SMALL_ICON

Added in API level 19

extras key: this is the resource ID of the notification's main small icon, as supplied to setSmallIcon(int).

Constant Value: "android.icon"

public static final String EXTRA_SUB_TEXT

Added in API level 19

extras key: this is a third line of text, as supplied to setSubText(CharSequence).

Constant Value: "android.subText"

public static final String EXTRA_SUMMARY_TEXT

Added in API level 19

extras key: this is a line of summary information intended to be shown alongside expanded notifications, as supplied to (e.g.) setSummaryText(CharSequence).

Constant Value: "android.summaryText"

public static final String EXTRA_TEMPLATE

Added in API level 21

extras key: A string representing the name of the specific Notification.Style used to create this notification.

Constant Value: "android.template"

public static final String EXTRA_TEXT

Added in API level 19

extras key: this is the main text payload, as supplied to setContentText(CharSequence).

Constant Value: "android.text"

public static final String EXTRA_TEXT_LINES

Added in API level 19

extras key: An array of CharSequences to show in Notification.InboxStyle expanded notifications, each of which was supplied to addLine(CharSequence).

Constant Value: "android.textLines"

public static final String EXTRA_TITLE

Added in API level 19

extras key: this is the title of the notification, as supplied to setContentTitle(CharSequence).

Constant Value: "android.title"

public static final String EXTRA_TITLE_BIG

Added in API level 19

extras key: this is the title of the notification when shown in expanded form, e.g. as supplied to setBigContentTitle(CharSequence).

Constant Value: "android.title.big"

public static final int FLAG_AUTO_CANCEL

Added in API level 1

Bit to be bitwise-ored into the flags field that should be set if the notification should be canceled when it is clicked by the user.

Constant Value: 16 (0x00000010)

public static final int FLAG_FOREGROUND_SERVICE

Added in API level 5

Bit to be bitwise-ored into the flags field that should be set if this notification represents a currently running service. This will normally be set for you by startForeground(int, Notification).

Constant Value: 64 (0x00000040)

public static final int FLAG_GROUP_SUMMARY

Added in API level 20

Bit to be bitswise-ored into the flags field that should be set if this notification is the group summary for a group of notifications. Grouped notifications may display in a cluster or stack on devices which support such rendering. Requires a group key also be set using setGroup(String).

Constant Value: 512 (0x00000200)

public static final int FLAG_HIGH_PRIORITY

Added in API level 11

This constant was deprecated in API level 16.
Use priority with a positive value.

Obsolete flag indicating high-priority notifications; use the priority field instead.

Constant Value: 128 (0x00000080)

public static final int FLAG_INSISTENT

Added in API level 1

Bit to be bitwise-ored into the flags field that if set, the audio will be repeated until the notification is cancelled or the notification window is opened.

Constant Value: 4 (0x00000004)

public static final int FLAG_LOCAL_ONLY

Added in API level 20

Bit to be bitswise-ored into the flags field that should be set if this notification is relevant to the current device only and it is not recommended that it bridge to other devices.

Constant Value: 256 (0x00000100)

public static final int FLAG_NO_CLEAR

Added in API level 1

Bit to be bitwise-ored into the flags field that should be set if the notification should not be canceled when the user clicks the Clear all button.

Constant Value: 32 (0x00000020)

public static final int FLAG_ONGOING_EVENT

Added in API level 1

Bit to be bitwise-ored into the flags field that should be set if this notification is in reference to something that is ongoing, like a phone call. It should not be set if this notification is in reference to something that happened at a particular point in time, like a missed phone call.

Constant Value: 2 (0x00000002)

public static final int FLAG_ONLY_ALERT_ONCE

Added in API level 1

Bit to be bitwise-ored into the flags field that should be set if you would only like the sound, vibrate and ticker to be played if the notification was not already showing.

Constant Value: 8 (0x00000008)

public static final int FLAG_SHOW_LIGHTS

Added in API level 1

Bit to be bitwise-ored into the flags field that should be set if you want the LED on for this notification.

  • To turn the LED off, pass 0 in the alpha channel for colorARGB or 0 for both ledOnMS and ledOffMS.
  • To turn the LED on, pass 1 for ledOnMS and 0 for ledOffMS.
  • To flash the LED, pass the number of milliseconds that it should be on and off to ledOnMS and ledOffMS.

Since hardware varies, you are not guaranteed that any of the values you pass are honored exactly. Use the system defaults (TODO) if possible because they will be set to values that work on any given hardware.

The alpha channel must be set for forward compatibility.

Constant Value: 1 (0x00000001)

public static final String INTENT_CATEGORY_NOTIFICATION_PREFERENCES

Added in API level 21

An activity that provides a user interface for adjusting notification preferences for its containing application. Optional but recommended for apps that post Notifications.

Constant Value: "android.intent.category.NOTIFICATION_PREFERENCES"

public static final int PRIORITY_DEFAULT

Added in API level 16

Default notification priority. If your application does not prioritize its own notifications, use this value for all notifications.

Constant Value: 0 (0x00000000)

public static final int PRIORITY_HIGH

Added in API level 16

Higher priority, for more important notifications or alerts. The UI may choose to show these items larger, or at a different position in notification lists, compared with your app's PRIORITY_DEFAULT items.

Constant Value: 1 (0x00000001)

public static final int PRIORITY_LOW

Added in API level 16

Lower priority, for items that are less important. The UI may choose to show these items smaller, or at a different position in the list, compared with your app's PRIORITY_DEFAULT items.

Constant Value: -1 (0xffffffff)

public static final int PRIORITY_MAX

Added in API level 16

Highest priority, for your application's most important items that require the user's prompt attention or input.

Constant Value: 2 (0x00000002)

public static final int PRIORITY_MIN

Added in API level 16

Lowest priority; these items might not be shown to the user except under special circumstances, such as detailed notification logs.

Constant Value: -2 (0xfffffffe)

public static final int STREAM_DEFAULT

Added in API level 1

This constant was deprecated in API level 21.
Use audioAttributes instead.

Use this constant as the value for audioStreamType to request that the default stream type for notifications be used. Currently the default stream type is STREAM_NOTIFICATION.

Constant Value: -1 (0xffffffff)

public static final int VISIBILITY_PRIVATE

Added in API level 21

Notification visibility: Show this notification on all lockscreens, but conceal sensitive or private information on secure lockscreens.

See Also
Constant Value: 0 (0x00000000)

public static final int VISIBILITY_PUBLIC

Added in API level 21

Notification visibility: Show this notification in its entirety on all lockscreens.

See Also
Constant Value: 1 (0x00000001)

public static final int VISIBILITY_SECRET

Added in API level 21

Notification visibility: Do not reveal any part of this notification on a secure lockscreen.

See Also
Constant Value: -1 (0xffffffff)

Fields

public static final AudioAttributes AUDIO_ATTRIBUTES_DEFAULT

Added in API level 21

The default value of audioAttributes.

public static final Creator<Notification> CREATOR

Added in API level 1

Parcelable.Creator that instantiates Notification objects

public Action[] actions

Added in API level 19

Array of all Notification.Action structures attached to this notification by addAction(int, CharSequence, PendingIntent). Mostly useful for instances of NotificationListenerService that provide an alternative interface for invoking actions.

public AudioAttributes audioAttributes

Added in API level 21

The audio attributes to use when playing the sound.

public int audioStreamType

Added in API level 1

This field was deprecated in API level 21.
Use audioAttributes instead.

The audio stream type to use when playing the sound. Should be one of the STREAM_ constants from AudioManager.

public RemoteViews bigContentView

Added in API level 16

A large-format version of contentView, giving the Notification an opportunity to show more detail. The system UI may choose to show this instead of the normal content view at its discretion.

public String category

Added in API level 21

One of the predefined notification categories (see the CATEGORY_* constants) that best describes this Notification. May be used by the system for ranking and filtering.

public int color

Added in API level 21

Accent color (an ARGB integer like the constants in Color) to be applied by the standard Style templates when presenting this notification. The current template design constructs a colorful header image by overlaying the icon image (stenciled in white) atop a field of this color. Alpha components are ignored.

public PendingIntent contentIntent

Added in API level 1

The intent to execute when the expanded status entry is clicked. If this is an activity, it must include the FLAG_ACTIVITY_NEW_TASK flag, which requires that you take care of task management as described in the Tasks and Back Stack document. In particular, make sure to read the notification section Handling Notifications for the correct ways to launch an application from a notification.

public RemoteViews contentView

Added in API level 1

The view that will represent this notification in the expanded status bar.

public int defaults

Added in API level 1

Specifies which values should be taken from the defaults.

To set, OR the desired from DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS. For all default values, use DEFAULT_ALL.

public PendingIntent deleteIntent

Added in API level 1

The intent to execute when the notification is explicitly dismissed by the user, either with the "Clear All" button or by swiping it away individually. This probably shouldn't be launching an activity since several of those will be sent at the same time.

public Bundle extras

Added in API level 19

Additional semantic data to be carried around with this Notification.

The extras keys defined here are intended to capture the original inputs to Notification.Builder APIs, and are intended to be used by NotificationListenerService implementations to extract detailed information from notification objects.

public int flags

Added in API level 1

public PendingIntent fullScreenIntent

Added in API level 9

An intent to launch instead of posting the notification to the status bar.

The system UI may choose to display a heads-up notification, instead of launching this intent, while the user is using the device.

public RemoteViews headsUpContentView

Added in API level 21

A medium-format version of contentView, providing the Notification an opportunity to add action buttons to contentView. At its discretion, the system UI may choose to show this as a heads-up notification, which will pop up so the user can see it without leaving their current activity.

public int icon

Added in API level 1

This field was deprecated in API level 23.
Use setSmallIcon(Icon) instead.

The resource id of a drawable to use as the icon in the status bar.

public int iconLevel

Added in API level 1

If the icon in the status bar is to have more than one level, you can set this. Otherwise, leave it at its default value of 0.

public Bitmap largeIcon

Added in API level 11

This field was deprecated in API level 23.
Use setLargeIcon(Icon) instead.

A large bitmap to be shown in the notification content area.

public int ledARGB

Added in API level 1

The color of the led. The hardware will do its best approximation.

public int ledOffMS

Added in API level 1

The number of milliseconds for the LED to be off while it's flashing. The hardware will do its best approximation.

public int ledOnMS

Added in API level 1

The number of milliseconds for the LED to be on while it's flashing. The hardware will do its best approximation.

public int number

Added in API level 1

The number of events that this notification represents. For example, in a new mail notification, this could be the number of unread messages. The system may or may not use this field to modify the appearance of the notification. For example, before HONEYCOMB, this number was superimposed over the icon in the status bar. Starting with HONEYCOMB, the template used by Notification.Builder has displayed the number in the expanded notification view. If the number is 0 or negative, it is never shown.

public int priority

Added in API level 16

Relative priority for this notification. Priority is an indication of how much of the user's valuable attention should be consumed by this notification. Low-priority notifications may be hidden from the user in certain situations, while the user might be interrupted for a higher-priority notification. The system will make a determination about how to interpret this priority when presenting the notification.

A notification that is at least PRIORITY_HIGH is more likely to be presented as a heads-up notification.

public Notification publicVersion

Added in API level 21

Replacement version of this notification whose content will be shown in an insecure context such as atop a secure keyguard. See visibility and VISIBILITY_PUBLIC.

public Uri sound

Added in API level 1

The sound to play.

A notification that is noisy is more likely to be presented as a heads-up notification.

To play the default notification sound, see defaults.

public CharSequence tickerText

Added in API level 1

Text that summarizes this notification for accessibility services. As of the L release, this text is no longer shown on screen, but it is still useful to accessibility services (where it serves as an audible announcement of the notification's appearance).

See Also

public RemoteViews tickerView

Added in API level 11

Formerly, a view showing the tickerText. No longer displayed in the status bar as of API 21.

public long[] vibrate

Added in API level 1

The pattern with which to vibrate.

To vibrate the default pattern, see defaults.

A notification that vibrates is more likely to be presented as a heads-up notification.

public int visibility

Added in API level 21

Sphere of visibility of this notification, which affects how and when the SystemUI reveals the notification's presence and contents in untrusted situations (namely, on the secure lockscreen). The default level, VISIBILITY_PRIVATE, behaves exactly as notifications have always done on Android: The notification's icon and tickerText (if available) are shown in all situations, but the contents are only available if the device is unlocked for the appropriate user. A more permissive policy can be expressed by VISIBILITY_PUBLIC; such a notification can be read even in an "insecure" context (that is, above a secure lockscreen). To modify the public version of this notification—for example, to redact some portions—see setPublicVersion(Notification). Finally, a notification can be made VISIBILITY_SECRET, which will suppress its icon and ticker until the user has bypassed the lockscreen.

public long when

Added in API level 1

A timestamp related to this notification, in milliseconds since the epoch. Default value: Now. Choose a timestamp that will be most relevant to the user. For most finite events, this corresponds to the time the event happened (or will happen, in the case of events that have yet to occur but about which the user is being informed). Indefinite events should be timestamped according to when the activity began. Some examples:

  • Notification of a new chat message should be stamped when the message was received.
  • Notification of an ongoing file download (with a progress bar, for example) should be stamped when the download started.
  • Notification of a completed file download should be stamped when the download finished.
  • Notification of an upcoming meeting should be stamped with the time the meeting will begin (that is, in the future).
  • Notification of an ongoing stopwatch (increasing timer) should be stamped with the watch's start time.
  • Notification of an ongoing countdown timer should be stamped with the timer's end time.

Public Constructors

public Notification ()

Added in API level 1

Constructs a Notification object with default values. You might want to consider using Notification.Builder instead.

public Notification (int icon, CharSequence tickerText, long when)

Added in API level 1

This constructor was deprecated in API level 11.
Use Notification.Builder instead.

Constructs a Notification object with the information needed to have a status bar icon without the standard expanded view.

Parameters
icon The resource id of the icon to put in the status bar.
tickerText The text that flows by in the status bar when the notification first activates.
when The time to show in the time field. In the System.currentTimeMillis timebase.

public Notification (Parcel parcel)

Added in API level 1

Unflatten the notification from a parcel.

Public Methods

public Notification clone ()

Added in API level 1

Creates and returns a copy of this Object. The default implementation returns a so-called "shallow" copy: It creates a new instance of the same class and then copies the field values (including object references) from this instance to the new instance. A "deep" copy, in contrast, would also recursively clone nested objects. A subclass that needs to implement this kind of cloning should call super.clone() to create the new instance and then create deep copies of the nested, mutable objects.

Returns
  • a copy of this object.

public int describeContents ()

Added in API level 1

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public String getGroup ()

Added in API level 20

Get the key used to group this notification into a cluster or stack with other notifications on devices which support such rendering.

public Icon getLargeIcon ()

Added in API level 23

The large icon shown in this notification's content view.

public Icon getSmallIcon ()

Added in API level 23

The small icon representing this notification in the status bar and content view.

Returns
  • the small icon representing this notification.

public String getSortKey ()

Added in API level 20

Get a sort key that orders this notification among other notifications from the same package. This can be useful if an external sort was already applied and an app would like to preserve this. Notifications will be sorted lexicographically using this value, although providing different priorities in addition to providing sort key may cause this value to be ignored.

This sort key can also be used to order members of a notification group. See setGroup(String).

public String toString ()

Added in API level 1

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel parcel, int flags)

Added in API level 1

Flatten this notification into a parcel.

Parameters
parcel The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.