NotificationCompat.Builder
public
static
class
NotificationCompat.Builder
extends Object
java.lang.Object | |
↳ | androidx.core.app.NotificationCompat.Builder |
Builder class for NotificationCompat
objects. Allows easier control over
all the flags, as well as help constructing the typical notification layouts.
On platform versions that don't offer expanded notifications, methods that depend on expanded notifications have no effect.
For example, action buttons won't appear on platforms prior to Android 4.1. Action buttons depend on expanded notifications, which are only available in Android 4.1 and later.
For this reason, you should always ensure that UI controls in a notification are also
available in an Activity
in your app, and you should always start that
Activity
when users click the notification. To do this, use the
setContentIntent()
method.
Summary
Fields | |
---|---|
public
ArrayList<String> |
mPeople
This field is deprecated. This field was not meant to be public. |
Public constructors | |
---|---|
Builder(Context context, Notification notification)
Creates a NotificationCompat.Builder which can be used to build a notification that is equivalent to the given one, such that updates can be made to an existing notification with the NotitifactionCompat.Builder API. |
|
Builder(Context context, String channelId)
Constructor. |
|
Builder(Context context)
This constructor is deprecated.
use |
Public methods | |
---|---|
NotificationCompat.Builder
|
addAction(NotificationCompat.Action action)
Add an action to this notification. |
NotificationCompat.Builder
|
addAction(int icon, CharSequence title, PendingIntent intent)
Add an action to this notification. |
NotificationCompat.Builder
|
addExtras(Bundle extras)
Merge additional metadata into this notification. |
NotificationCompat.Builder
|
addInvisibleAction(NotificationCompat.Action action)
Add an invisible action to this notification. |
NotificationCompat.Builder
|
addInvisibleAction(int icon, CharSequence title, PendingIntent intent)
Add an invisible action to this notification. |
NotificationCompat.Builder
|
addPerson(String uri)
This method is deprecated.
use |
NotificationCompat.Builder
|
addPerson(Person person)
Add a person that is relevant to this notification. |
Notification
|
build()
Combine all of the options that have been set and return a new |
NotificationCompat.Builder
|
clearActions()
Clear any actions added via |
NotificationCompat.Builder
|
clearInvisibleActions()
Clear any invisible actions added via |
NotificationCompat.Builder
|
clearPeople()
Clear any people added via either |
RemoteViews
|
createBigContentView()
Construct a RemoteViews for the final big notification layout. |
RemoteViews
|
createContentView()
Construct a RemoteViews for the final notification layout. |
RemoteViews
|
createHeadsUpContentView()
Construct a RemoteViews for the final heads-up notification layout. |
NotificationCompat.Builder
|
extend(NotificationCompat.Extender extender)
Apply an extender to this notification builder. |
Bundle
|
getExtras()
Get the current metadata Bundle used by this notification Builder. |
Notification
|
getNotification()
This method is deprecated.
Use |
NotificationCompat.Builder
|
setAllowSystemGeneratedContextualActions(boolean allowed)
Determines whether the platform can generate contextual actions for a notification. |
NotificationCompat.Builder
|
setAutoCancel(boolean autoCancel)
Setting this flag will make it so the notification is automatically canceled when the user clicks it in the panel. |
NotificationCompat.Builder
|
setBadgeIconType(int icon)
Sets which icon to display as a badge for this notification. |
NotificationCompat.Builder
|
setBubbleMetadata(NotificationCompat.BubbleMetadata data)
Sets the |
NotificationCompat.Builder
|
setCategory(String category)
Set the notification category. |
NotificationCompat.Builder
|
setChannelId(String channelId)
Specifies the channel the notification should be delivered on. |
NotificationCompat.Builder
|
setChronometerCountDown(boolean countsDown)
Sets the Chronometer to count down instead of counting up. |
NotificationCompat.Builder
|
setColor(int argb)
Sets |
NotificationCompat.Builder
|
setColorized(boolean colorize)
Set whether this notification should be colorized. |
NotificationCompat.Builder
|
setContent(RemoteViews views)
Supply a custom RemoteViews to use instead of the standard one. |
NotificationCompat.Builder
|
setContentInfo(CharSequence info)
A small piece of additional information pertaining to this notification. |
NotificationCompat.Builder
|
setContentIntent(PendingIntent intent)
Supply a |
NotificationCompat.Builder
|
setContentText(CharSequence text)
Set the text (second row) of the notification, in a standard notification. |
NotificationCompat.Builder
|
setContentTitle(CharSequence title)
Set the title (first row) of the notification, in a standard notification. |
NotificationCompat.Builder
|
setCustomBigContentView(RemoteViews contentView)
Supply custom RemoteViews to use instead of the platform template in the expanded form. |
NotificationCompat.Builder
|
setCustomContentView(RemoteViews contentView)
Supply custom RemoteViews to use instead of the platform template. |
NotificationCompat.Builder
|
setCustomHeadsUpContentView(RemoteViews contentView)
Supply custom RemoteViews to use instead of the platform template in the heads up dialog. |
NotificationCompat.Builder
|
setDefaults(int defaults)
Set the default notification options that will be used. |
NotificationCompat.Builder
|
setDeleteIntent(PendingIntent intent)
Supply a |
NotificationCompat.Builder
|
setExtras(Bundle extras)
Set metadata for this notification. |
NotificationCompat.Builder
|
setFullScreenIntent(PendingIntent intent, boolean highPriority)
An intent to launch instead of posting the notification to the status bar. |
NotificationCompat.Builder
|
setGroup(String groupKey)
Set this notification to be part of a group of notifications sharing the same key. |
NotificationCompat.Builder
|
setGroupAlertBehavior(int groupAlertBehavior)
Sets the group alert behavior for this notification. |
NotificationCompat.Builder
|
setGroupSummary(boolean isGroupSummary)
Set this notification to be the group summary for a group of notifications. |
NotificationCompat.Builder
|
setLargeIcon(Bitmap icon)
Set the large icon that is shown in the notification. |
NotificationCompat.Builder
|
setLights(int argb, int onMs, int offMs)
Set the argb value that you would like the LED on the device to blink, as well as the rate. |
NotificationCompat.Builder
|
setLocalOnly(boolean b)
Set whether or not this notification is only relevant to the current device. |
NotificationCompat.Builder
|
setLocusId(LocusIdCompat locusId)
Sets the |
NotificationCompat.Builder
|
setNotificationSilent()
This method is deprecated.
use |
NotificationCompat.Builder
|
setNumber(int number)
Sets the number of items this notification represents. |
NotificationCompat.Builder
|
setOngoing(boolean ongoing)
Set whether this is an ongoing notification. |
NotificationCompat.Builder
|
setOnlyAlertOnce(boolean onlyAlertOnce)
Set this flag if you would only like the sound, vibrate and ticker to be played if the notification is not already showing. |
NotificationCompat.Builder
|
setPriority(int pri)
Set the relative priority for this notification. |
NotificationCompat.Builder
|
setProgress(int max, int progress, boolean indeterminate)
Set the progress this notification represents, which may be
represented as a |
NotificationCompat.Builder
|
setPublicVersion(Notification n)
Supply a replacement Notification whose contents should be shown in insecure contexts (i.e. |
NotificationCompat.Builder
|
setRemoteInputHistory(CharSequence[] text)
Set the remote input history. |
NotificationCompat.Builder
|
setSettingsText(CharSequence text)
Provides text that will appear as a link to your application's settings. |
NotificationCompat.Builder
|
setShortcutId(String shortcutId)
From Android 11, messaging notifications (those that use |
NotificationCompat.Builder
|
setShortcutInfo(ShortcutInfoCompat shortcutInfo)
Populates this notification with given |
NotificationCompat.Builder
|
setShowWhen(boolean show)
Control whether the timestamp set with |
NotificationCompat.Builder
|
setSilent(boolean silent)
If |
NotificationCompat.Builder
|
setSmallIcon(int icon, int level)
A variant of |
NotificationCompat.Builder
|
setSmallIcon(IconCompat icon)
Set the small icon to use in the notification layouts. |
NotificationCompat.Builder
|
setSmallIcon(int icon)
Set the small icon to use in the notification layouts. |
NotificationCompat.Builder
|
setSortKey(String sortKey)
Set a sort key that orders this notification among other notifications from the same package. |
NotificationCompat.Builder
|
setSound(Uri sound)
Set the sound to play. |
NotificationCompat.Builder
|
setSound(Uri sound, int streamType)
Set the sound to play. |
NotificationCompat.Builder
|
setStyle(NotificationCompat.Style style)
Add a rich notification style to be applied at build time. |
NotificationCompat.Builder
|
setSubText(CharSequence text)
This provides some additional information that is displayed in the notification. |
NotificationCompat.Builder
|
setTicker(CharSequence tickerText, RemoteViews views)
This method is deprecated.
use |
NotificationCompat.Builder
|
setTicker(CharSequence tickerText)
Sets the "ticker" text which is sent to accessibility services. |
NotificationCompat.Builder
|
setTimeoutAfter(long durationMs)
Specifies the time at which this notification should be canceled, if it is not already canceled. |
NotificationCompat.Builder
|
setUsesChronometer(boolean b)
Show the |
NotificationCompat.Builder
|
setVibrate(long[] pattern)
Set the vibration pattern to use. |
NotificationCompat.Builder
|
setVisibility(int visibility)
Sets |
NotificationCompat.Builder
|
setWhen(long when)
Set the time that the event occurred. |
Protected methods | |
---|---|
static
CharSequence
|
limitCharSequenceLength(CharSequence cs)
|
Inherited methods | |
---|---|
Fields
mPeople
public ArrayList<String> mPeople
This field is deprecated.
This field was not meant to be public.
Public constructors
Builder
public Builder (Context context, Notification notification)
Creates a NotificationCompat.Builder which can be used to build a notification that is equivalent to the given one, such that updates can be made to an existing notification with the NotitifactionCompat.Builder API.
Parameters | |
---|---|
context |
Context |
notification |
Notification |
Builder
public Builder (Context context, String channelId)
Constructor.
Automatically sets the when field to System.currentTimeMillis()
and the audio stream to the
Notification.STREAM_DEFAULT
.
Parameters | |
---|---|
context |
Context : A Context that will be used to construct the
RemoteViews. The Context will not be held past the lifetime of this
Builder object. |
channelId |
String : The constructed Notification will be posted on this
NotificationChannel.
|
Builder
public Builder (Context context)
This constructor is deprecated.
use Builder(Context, String)
instead. All posted notifications must
specify a NotificationChannel ID.
Parameters | |
---|---|
context |
Context |
Public methods
addAction
public NotificationCompat.Builder addAction (NotificationCompat.Action action)
Add an action to this notification. Actions are typically displayed by
the system as a button adjacent to the notification content.
Action buttons won't appear on platforms prior to Android 4.1. Action
buttons depend on expanded notifications, which are only available in Android 4.1
and later. To ensure that an action button's functionality is always available, first
implement the functionality in the Activity
that starts when a user
clicks the notification (see setContentIntent()
), and then
enhance the notification by implementing the same functionality with
addAction()
.
Parameters | |
---|---|
action |
NotificationCompat.Action : The action to add.
|
Returns | |
---|---|
NotificationCompat.Builder |
addAction
public NotificationCompat.Builder addAction (int icon, CharSequence title, PendingIntent intent)
Add an action to this notification. Actions are typically displayed by
the system as a button adjacent to the notification content.
Action buttons won't appear on platforms prior to Android 4.1. Action
buttons depend on expanded notifications, which are only available in Android 4.1
and later. To ensure that an action button's functionality is always available, first
implement the functionality in the Activity
that starts when a user
clicks the notification (see setContentIntent()
), and then
enhance the notification by implementing the same functionality with
addAction()
.
Parameters | |
---|---|
icon |
int : Resource ID of a drawable that represents the action. |
title |
CharSequence : Text describing the action. |
intent |
PendingIntent : PendingIntent to be fired when the action is invoked.
|
Returns | |
---|---|
NotificationCompat.Builder |
addExtras
public NotificationCompat.Builder addExtras (Bundle extras)
Merge additional metadata into this notification.
Values within the Bundle will replace existing extras values in this Builder.
Parameters | |
---|---|
extras |
Bundle |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
addInvisibleAction
public NotificationCompat.Builder addInvisibleAction (NotificationCompat.Action action)
Add an invisible action to this notification. Invisible actions are never displayed by
the system, but can be retrieved and used by other application listening to
system notifications. Invisible actions are supported from Android 4.4.4 (API 20) and can
be retrieved using NotificationCompat.getInvisibleActions(Notification)
.
Parameters | |
---|---|
action |
NotificationCompat.Action : The action to add.
|
Returns | |
---|---|
NotificationCompat.Builder |
addInvisibleAction
public NotificationCompat.Builder addInvisibleAction (int icon, CharSequence title, PendingIntent intent)
Add an invisible action to this notification. Invisible actions are never displayed by
the system, but can be retrieved and used by other application listening to
system notifications. Invisible actions are supported from Android 4.4.4 (API 20) and can
be retrieved using NotificationCompat.getInvisibleActions(Notification)
.
Parameters | |
---|---|
icon |
int : Resource ID of a drawable that represents the action. |
title |
CharSequence : Text describing the action. |
intent |
PendingIntent : PendingIntent to be fired when the action is invoked.
|
Returns | |
---|---|
NotificationCompat.Builder |
addPerson
public NotificationCompat.Builder addPerson (String uri)
This method is deprecated.
use addPerson(Person)
Add a person that is relevant to this notification.
Depending on user preferences, this annotation may allow the notification to pass through interruption filters, and to appear more prominently in the user interface.
The person should be specified by the String
representation of a
ContactsContract.Contacts.CONTENT_LOOKUP_URI
.
The system will also attempt to resolve mailto:
and tel:
schema
URIs. The path part of these URIs must exist in the contacts database, in the
appropriate column, or the reference will be discarded as invalid. Telephone schema
URIs will be resolved by ContactsContract.PhoneLookup
.
Parameters | |
---|---|
uri |
String : A URI for the person. |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
addPerson
public NotificationCompat.Builder addPerson (Person person)
Add a person that is relevant to this notification.
Depending on user preferences, this annotation may allow the notification to pass
through interruption filters, if this notification is of category NotificationCompat.CATEGORY_CALL
or NotificationCompat.CATEGORY_MESSAGE
. The addition of people may also cause this notification to
appear more prominently in the user interface.
A person should usually contain a uri in order to benefit from the ranking boost. However, even if no uri is provided, it's beneficial to provide other people in the notification, such that listeners and voice only devices can announce and handle them properly.
Parameters | |
---|---|
person |
Person : the person to add. |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
build
public Notification build ()
Combine all of the options that have been set and return a new Notification
object.
Returns | |
---|---|
Notification |
clearActions
public NotificationCompat.Builder clearActions ()
Clear any actions added via addAction(NotificationCompat.Action)
Returns | |
---|---|
NotificationCompat.Builder |
clearInvisibleActions
public NotificationCompat.Builder clearInvisibleActions ()
Clear any invisible actions added via addInvisibleAction(NotificationCompat.Action)
Returns | |
---|---|
NotificationCompat.Builder |
clearPeople
public NotificationCompat.Builder clearPeople ()
Clear any people added via either addPerson(Person)
or
addPerson(String)
Returns | |
---|---|
NotificationCompat.Builder |
createBigContentView
public RemoteViews createBigContentView ()
Construct a RemoteViews for the final big notification layout.
Returns | |
---|---|
RemoteViews |
createContentView
public RemoteViews createContentView ()
Construct a RemoteViews for the final notification layout.
Returns | |
---|---|
RemoteViews |
createHeadsUpContentView
public RemoteViews createHeadsUpContentView ()
Construct a RemoteViews for the final heads-up notification layout.
Returns | |
---|---|
RemoteViews |
extend
public NotificationCompat.Builder extend (NotificationCompat.Extender extender)
Apply an extender to this notification builder. Extenders may be used to add metadata or change options on this builder.
Parameters | |
---|---|
extender |
NotificationCompat.Extender |
Returns | |
---|---|
NotificationCompat.Builder |
getExtras
public Bundle getExtras ()
Get the current metadata Bundle used by this notification Builder.
The returned Bundle is shared with this Builder.
The current contents of this Bundle are copied into the Notification each time
build()
is called.
Returns | |
---|---|
Bundle |
See also:
getNotification
public Notification getNotification ()
This method is deprecated.
Use build()
instead.
Returns | |
---|---|
Notification |
setAllowSystemGeneratedContextualActions
public NotificationCompat.Builder setAllowSystemGeneratedContextualActions (boolean allowed)
Determines whether the platform can generate contextual actions for a notification. By default this is true.
Parameters | |
---|---|
allowed |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setAutoCancel
public NotificationCompat.Builder setAutoCancel (boolean autoCancel)
Setting this flag will make it so the notification is automatically
canceled when the user clicks it in the panel. The PendingIntent
set with setDeleteIntent(PendingIntent)
will be broadcast when the notification
is canceled.
Parameters | |
---|---|
autoCancel |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setBadgeIconType
public NotificationCompat.Builder setBadgeIconType (int icon)
Sets which icon to display as a badge for this notification.
Must be one of NotificationCompat.BADGE_ICON_NONE
, NotificationCompat.BADGE_ICON_SMALL
,
NotificationCompat.BADGE_ICON_LARGE
.
Note: This value might be ignored, for launchers that don't support badge icons.
Parameters | |
---|---|
icon |
int |
Returns | |
---|---|
NotificationCompat.Builder |
setBubbleMetadata
public NotificationCompat.Builder setBubbleMetadata (NotificationCompat.BubbleMetadata data)
Sets the NotificationCompat.BubbleMetadata
that will be used to display app content in a floating
window over the existing foreground activity.
This data will be ignored unless the notification is posted to a channel that
allows bubbles
.
Notifications allowed to bubble that have valid bubble metadata will display in collapsed state outside of the notification shade on unlocked devices. When a user interacts with the collapsed state, the bubble intent will be invoked and displayed.
Parameters | |
---|---|
data |
NotificationCompat.BubbleMetadata |
Returns | |
---|---|
NotificationCompat.Builder |
setCategory
public NotificationCompat.Builder setCategory (String category)
Set the notification category.
Must be one of the predefined notification categories (see the CATEGORY_*
constants in Notification
) that best describes this notification.
May be used by the system for ranking and filtering.
Parameters | |
---|---|
category |
String |
Returns | |
---|---|
NotificationCompat.Builder |
setChannelId
public NotificationCompat.Builder setChannelId (String channelId)
Specifies the channel the notification should be delivered on.
No-op on versions prior to Build.VERSION_CODES.O
.
Parameters | |
---|---|
channelId |
String |
Returns | |
---|---|
NotificationCompat.Builder |
setChronometerCountDown
public NotificationCompat.Builder setChronometerCountDown (boolean countsDown)
Sets the Chronometer to count down instead of counting up. This is only relevant if setUsesChronometer(boolean) has been set to true. If it isn't set the chronometer will count up.
Parameters | |
---|---|
countsDown |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setColor
public NotificationCompat.Builder setColor (int argb)
Sets Notification.color
.
Parameters | |
---|---|
argb |
int : The accent color to use |
Returns | |
---|---|
NotificationCompat.Builder |
The same Builder. |
setColorized
public NotificationCompat.Builder setColorized (boolean colorize)
Set whether this notification should be colorized. When set, the color set with
setColor(int)
will be used as the background color of this notification.
This should only be used for high priority ongoing tasks like navigation, an ongoing call, or other similarly high-priority events for the user.
For most styles, the coloring will only be applied if the notification is for a foreground service notification.
However, for MediaStyle and DecoratedMediaCustomViewStyle notifications that have a media session attached there is no such requirement.
Calling this method on any version prior to Build.VERSION_CODES.O
will
not have an effect on the notification and it won't be colorized.
Parameters | |
---|---|
colorize |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setContent
public NotificationCompat.Builder setContent (RemoteViews views)
Supply a custom RemoteViews to use instead of the standard one.
Parameters | |
---|---|
views |
RemoteViews |
Returns | |
---|---|
NotificationCompat.Builder |
setContentInfo
public NotificationCompat.Builder setContentInfo (CharSequence info)
A small piece of additional information pertaining to this notification.
Where this text is displayed varies between platform versions.
Use setSubText(CharSequence)
instead to set a text in the header.
For legacy apps targeting a version below Build.VERSION_CODES.N
this
field will still show up, but the subtext will take precedence.
Parameters | |
---|---|
info |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setContentIntent
public NotificationCompat.Builder setContentIntent (PendingIntent intent)
Supply a PendingIntent
to send when the notification is clicked.
If you do not supply an intent, you can now add PendingIntents to individual
views to be launched when clicked by calling RemoteViews.setOnClickPendingIntent(int,PendingIntent)
. Be sure to
read Notification.contentIntent
for
how to correctly use this.
Parameters | |
---|---|
intent |
PendingIntent |
Returns | |
---|---|
NotificationCompat.Builder |
setContentText
public NotificationCompat.Builder setContentText (CharSequence text)
Set the text (second row) of the notification, in a standard notification.
Parameters | |
---|---|
text |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setContentTitle
public NotificationCompat.Builder setContentTitle (CharSequence title)
Set the title (first row) of the notification, in a standard notification.
Parameters | |
---|---|
title |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setCustomBigContentView
public NotificationCompat.Builder setCustomBigContentView (RemoteViews contentView)
Supply custom RemoteViews to use instead of the platform template in the expanded form.
This will override the expanded layout that would otherwise be constructed by this
Builder object.
No-op on versions prior to Build.VERSION_CODES.JELLY_BEAN
.
Parameters | |
---|---|
contentView |
RemoteViews |
Returns | |
---|---|
NotificationCompat.Builder |
setCustomContentView
public NotificationCompat.Builder setCustomContentView (RemoteViews contentView)
Supply custom RemoteViews to use instead of the platform template. This will override the layout that would otherwise be constructed by this Builder object.
Parameters | |
---|---|
contentView |
RemoteViews |
Returns | |
---|---|
NotificationCompat.Builder |
setCustomHeadsUpContentView
public NotificationCompat.Builder setCustomHeadsUpContentView (RemoteViews contentView)
Supply custom RemoteViews to use instead of the platform template in the heads up dialog.
This will override the heads-up layout that would otherwise be constructed by this
Builder object.
No-op on versions prior to Build.VERSION_CODES.LOLLIPOP
.
Parameters | |
---|---|
contentView |
RemoteViews |
Returns | |
---|---|
NotificationCompat.Builder |
setDefaults
public NotificationCompat.Builder setDefaults (int defaults)
Set the default notification options that will be used.
The value should be one or more of the following fields combined with
bitwise-or:
Notification.DEFAULT_SOUND
, Notification.DEFAULT_VIBRATE
,
Notification.DEFAULT_LIGHTS
.
For all default values, use Notification.DEFAULT_ALL
.
On platforms Build.VERSION_CODES.O
and above this value is ignored in favor
of the values set on the notification's channel
. On older
platforms, this value is still used, so it is still required for apps supporting
those platforms.
Parameters | |
---|---|
defaults |
int |
Returns | |
---|---|
NotificationCompat.Builder |
setDeleteIntent
public NotificationCompat.Builder setDeleteIntent (PendingIntent intent)
Supply a PendingIntent
to send when the notification is cleared by the user
directly from the notification panel. For example, this intent is sent when the user
clicks the "Clear all" button, or the individual "X" buttons on notifications. This
intent is not sent when the application calls
NotificationManager.cancel(int)
.
Parameters | |
---|---|
intent |
PendingIntent |
Returns | |
---|---|
NotificationCompat.Builder |
setExtras
public NotificationCompat.Builder setExtras (Bundle extras)
Set metadata for this notification.
A reference to the Bundle is held for the lifetime of this Builder, and the Bundle's
current contents are copied into the Notification each time build()
is
called.
Replaces any existing extras values with those from the provided Bundle.
Use addExtras(Bundle)
to merge in metadata instead.
Parameters | |
---|---|
extras |
Bundle |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setFullScreenIntent
public NotificationCompat.Builder setFullScreenIntent (PendingIntent intent, boolean highPriority)
An intent to launch instead of posting the notification to the status bar. Only for use with extremely high-priority notifications demanding the user's immediate attention, such as an incoming phone call or alarm clock that the user has explicitly set to a particular time. If this facility is used for something else, please give the user an option to turn it off and use a normal notification, as this can be extremely disruptive.
On some platforms, the system UI may choose to display a heads-up notification, instead of launching this intent, while the user is using the device.
Parameters | |
---|---|
intent |
PendingIntent : The pending intent to launch. |
highPriority |
boolean : Passing true will cause this notification to be sent
even if other notifications are suppressed.
|
Returns | |
---|---|
NotificationCompat.Builder |
setGroup
public NotificationCompat.Builder setGroup (String groupKey)
Set this notification to be part of a group of notifications sharing the same key. Grouped notifications may display in a cluster or stack on devices which support such rendering.
To make this notification the summary for its group, also call
setGroupSummary(boolean)
. A sort order can be specified for group members by using
setSortKey(String)
.
Parameters | |
---|---|
groupKey |
String : The group key of the group. |
Returns | |
---|---|
NotificationCompat.Builder |
this object for method chaining |
setGroupAlertBehavior
public NotificationCompat.Builder setGroupAlertBehavior (int groupAlertBehavior)
Sets the group alert behavior for this notification. Use this method to mute this
notification if alerts for this notification's group should be handled by a different
notification. This is only applicable for notifications that belong to a
group
. This must be called on all notifications you want to
mute. For example, if you want only the summary of your group to make noise, all
children in the group should have the group alert behavior NotificationCompat.GROUP_ALERT_SUMMARY
.
The default value is NotificationCompat.GROUP_ALERT_ALL
.
Parameters | |
---|---|
groupAlertBehavior |
int |
Returns | |
---|---|
NotificationCompat.Builder |
setGroupSummary
public NotificationCompat.Builder setGroupSummary (boolean isGroupSummary)
Set this notification to be 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)
.
Parameters | |
---|---|
isGroupSummary |
boolean : Whether this notification should be a group summary. |
Returns | |
---|---|
NotificationCompat.Builder |
this object for method chaining |
setLargeIcon
public NotificationCompat.Builder setLargeIcon (Bitmap icon)
Set the large icon that is shown in the notification.
Parameters | |
---|---|
icon |
Bitmap |
Returns | |
---|---|
NotificationCompat.Builder |
setLights
public NotificationCompat.Builder setLights (int argb, int onMs, int offMs)
Set the argb value that you would like the LED on the device to blink, as well as the rate. The rate is specified in terms of the number of milliseconds to be on and then the number of milliseconds to be off.
On platforms Build.VERSION_CODES.O
and above this value is ignored in favor
of the value set on the notification's channel
. On older
platforms, this value is still used, so it is still required for apps supporting
those platforms.
Parameters | |
---|---|
argb |
int |
onMs |
int |
offMs |
int |
Returns | |
---|---|
NotificationCompat.Builder |
setLocalOnly
public NotificationCompat.Builder setLocalOnly (boolean b)
Set whether or not this notification is only relevant to the current device.
Some notifications can be bridged to other devices for remote display. This hint can be set to recommend this notification not be bridged.
Parameters | |
---|---|
b |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setLocusId
public NotificationCompat.Builder setLocusId (LocusIdCompat locusId)
Sets the LocusIdCompat
associated with this notification.
This method should be called when the LocusIdCompat
is used in other places
(such as ShortcutInfoCompat
and
ContentCaptureContext
) so the device's intelligence
services can correlate them.
Parameters | |
---|---|
locusId |
LocusIdCompat |
Returns | |
---|---|
NotificationCompat.Builder |
setNotificationSilent
public NotificationCompat.Builder setNotificationSilent ()
This method is deprecated.
use setSilent(boolean)
Silences this instance of the notification, regardless of the sounds or vibrations set on the notification or notification channel.
Returns | |
---|---|
NotificationCompat.Builder |
setNumber
public NotificationCompat.Builder setNumber (int number)
Sets the number of items this notification represents.
On the latest platforms, this may be displayed as a badge count for Launchers that
support badging. Prior to Build.VERSION_CODES.O
it could be
shown in the header. And prior to Build.VERSION_CODES.N
this was
shown in the notification on the right side.
Parameters | |
---|---|
number |
int |
Returns | |
---|---|
NotificationCompat.Builder |
setOngoing
public NotificationCompat.Builder setOngoing (boolean ongoing)
Set whether this is an ongoing notification. Ongoing notifications cannot be dismissed by the user, so your application or service must take care of canceling them. They are typically used to indicate a background task that the user is actively engaged with (e.g., playing music) or is pending in some way and therefore occupying the device (e.g., a file download, sync operation, active network connection).
Parameters | |
---|---|
ongoing |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setOnlyAlertOnce
public NotificationCompat.Builder setOnlyAlertOnce (boolean onlyAlertOnce)
Set this flag if you would only like the sound, vibrate and ticker to be played if the notification is not already showing.
Parameters | |
---|---|
onlyAlertOnce |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setPriority
public NotificationCompat.Builder setPriority (int pri)
Set the 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 sets a notification's priority based on various factors including the setPriority value. The effect may differ slightly on different platforms.
On platforms Build.VERSION_CODES.O
and above this value is ignored in favor
of the importance value set on the notification's channel
.
On older platforms, this value is still used, so it is still required for apps
supporting those platforms.
Parameters | |
---|---|
pri |
int : Relative priority for this notification. Must be one of
the priority constants defined by NotificationCompat .
Acceptable values range from NotificationCompat.PRIORITY_MIN (-2) to
NotificationCompat.PRIORITY_MAX (2).
|
Returns | |
---|---|
NotificationCompat.Builder |
setProgress
public NotificationCompat.Builder setProgress (int max, int progress, boolean indeterminate)
Set the progress this notification represents, which may be
represented as a ProgressBar
.
Parameters | |
---|---|
max |
int |
progress |
int |
indeterminate |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setPublicVersion
public NotificationCompat.Builder setPublicVersion (Notification n)
Supply a replacement Notification whose contents should be shown in insecure contexts
(i.e. atop the secure lockscreen). See Notification.visibility
and
NotificationCompat.VISIBILITY_PUBLIC
.
Parameters | |
---|---|
n |
Notification : A replacement notification, presumably with some or all info redacted. |
Returns | |
---|---|
NotificationCompat.Builder |
The same Builder. |
setRemoteInputHistory
public NotificationCompat.Builder setRemoteInputHistory (CharSequence[] text)
Set the remote input history.
This should be set to the most recent inputs that have been sent
through a RemoteInput
of this Notification and cleared once the it is no
longer relevant (e.g. for chat notifications once the other party has responded).
The most recent input must be stored at the 0 index, the second most recent at the
1 index, etc. Note that the system will limit both how far back the inputs will be shown
and how much of each individual input is shown.
Note: The reply text will only be shown on notifications that have least one action
with a RemoteInput
.
Parameters | |
---|---|
text |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setSettingsText
public NotificationCompat.Builder setSettingsText (CharSequence text)
Provides text that will appear as a link to your application's settings.
This text does not appear within notification templates
but may
appear when the user uses an affordance to learn more about the notification.
Additionally, this text will not appear unless you provide a valid link target by
handling NotificationCompat.INTENT_CATEGORY_NOTIFICATION_PREFERENCES
.
This text is meant to be concise description about what the user can customize when they click on this link. The recommended maximum length is 40 characters.
Prior to Build.VERSION_CODES.O
this field has no effect.
Parameters | |
---|---|
text |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setShortcutId
public NotificationCompat.Builder setShortcutId (String shortcutId)
From Android 11, messaging notifications (those that use NotificationCompat.MessagingStyle
) that
use this method to link to a published long-lived sharing shortcut may appear in a
dedicated Conversation section of the shade and may show configuration options that
are unique to conversations. This behavior should be reserved for person to person(s)
conversations where there is a likely social obligation for an individual to respond.
For example, the following are some examples of notifications that belong in the conversation space:
- 1:1 conversations between two individuals
- Group conversations between individuals where everyone can contribute
- Advertisements from a bot (even if personal and contextualized)
- Engagement notifications from a bot
- Directional conversations where there is an active speaker and many passive individuals
- Stream / posting updates from other individuals
- Email, document comments, or other conversation types that are not real-time
Additionally, this method can be used for all types of notifications to mark this notification as duplicative of a Launcher shortcut. Launchers that show badges or notification content may then suppress the shortcut in favor of the content of this notification.
If this notification has NotificationCompat.BubbleMetadata
attached that was created with
a shortcutId a check will be performed to ensure the shortcutId supplied to bubble
metadata matches the shortcutId set here, if one was set. If the shortcutId's were
specified but do not match, an exception is thrown.
Parameters | |
---|---|
shortcutId |
String : the id of the shortcut this
notification is linked to |
Returns | |
---|---|
NotificationCompat.Builder |
setShortcutInfo
public NotificationCompat.Builder setShortcutInfo (ShortcutInfoCompat shortcutInfo)
Populates this notification with given ShortcutInfoCompat
.
Sets shortcutId
based on
the given shortcut. In addition, it also sets locusId
and
contentTitle
if they were empty.
Parameters | |
---|---|
shortcutInfo |
ShortcutInfoCompat |
Returns | |
---|---|
NotificationCompat.Builder |
setShowWhen
public NotificationCompat.Builder setShowWhen (boolean show)
Control whether the timestamp set with setWhen
is shown
in the content view.
For apps targeting Build.VERSION_CODES.N
and above, this
defaults to false
. For earlier apps, the default is true
.
Parameters | |
---|---|
show |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setSilent
public NotificationCompat.Builder setSilent (boolean silent)
If true
, silences this instance of the notification, regardless of the sounds or
vibrations set on the notification or notification channel. If false
, then the
normal sound and vibration logic applies. Defaults to false
.
Parameters | |
---|---|
silent |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
setSmallIcon
public NotificationCompat.Builder setSmallIcon (int icon, int level)
A variant of setSmallIcon(int)
that takes an additional
level parameter for when the icon is a LevelListDrawable
.
Parameters | |
---|---|
icon |
int : A resource ID in the application's package of the drawable to use. |
level |
int : The level to use for the icon. |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setSmallIcon
public NotificationCompat.Builder setSmallIcon (IconCompat icon)
Set the small icon to use in the notification layouts. Different classes of devices may return different sizes. See the UX guidelines for more information on how to design these icons.
Parameters | |
---|---|
icon |
IconCompat : The small Icon object to use
|
Returns | |
---|---|
NotificationCompat.Builder |
setSmallIcon
public NotificationCompat.Builder setSmallIcon (int icon)
Set the small icon to use in the notification layouts. Different classes of devices may return different sizes. See the UX guidelines for more information on how to design these icons.
Parameters | |
---|---|
icon |
int : A resource ID in the application's package of the drawable to use.
|
Returns | |
---|---|
NotificationCompat.Builder |
setSortKey
public NotificationCompat.Builder setSortKey (String sortKey)
Set 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)
.
Parameters | |
---|---|
sortKey |
String |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setSound
public NotificationCompat.Builder setSound (Uri sound)
Set the sound to play. It will play on the default stream.
On some platforms, a notification that is noisy is more likely to be presented as a heads-up notification.
On platforms Build.VERSION_CODES.O
and above this value is ignored in favor
of the value set on the notification's channel
. On older
platforms, this value is still used, so it is still required for apps supporting
those platforms.
Parameters | |
---|---|
sound |
Uri |
Returns | |
---|---|
NotificationCompat.Builder |
setSound
public NotificationCompat.Builder setSound (Uri sound, int streamType)
Set the sound to play. It will play on the stream you supply.
On some platforms, a notification that is noisy is more likely to be presented as a heads-up notification.
On platforms Build.VERSION_CODES.O
and above this value is ignored in favor
of the value set on the notification's channel
. On older
platforms, this value is still used, so it is still required for apps supporting
those platforms.
Parameters | |
---|---|
sound |
Uri |
streamType |
int |
Returns | |
---|---|
NotificationCompat.Builder |
setStyle
public NotificationCompat.Builder setStyle (NotificationCompat.Style style)
Add a rich notification style to be applied at build time.
If the platform does not provide rich notification styles, this method has no effect. The
user will always see the normal notification style.
Parameters | |
---|---|
style |
NotificationCompat.Style : Object responsible for modifying the notification style.
|
Returns | |
---|---|
NotificationCompat.Builder |
setSubText
public NotificationCompat.Builder setSubText (CharSequence text)
This provides some additional information that is displayed in the notification. No guarantees are given where exactly it is displayed.
This information should only be provided if it provides an essential benefit to the understanding of the notification. The more text you provide the less readable it becomes. For example, an email client should only provide the account name here if more than one email account has been added.
As of Build.VERSION_CODES.N
this information is displayed in the
notification header area.
On Android versions before Build.VERSION_CODES.N
this will be shown in the third line of text in the platform notification template.
You should not be using setProgress(int, int, boolean)
at the
same time on those versions; they occupy the same place.
Parameters | |
---|---|
text |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setTicker
public NotificationCompat.Builder setTicker (CharSequence tickerText, RemoteViews views)
This method is deprecated.
use setTicker(CharSequence)
Sets the "ticker" text which is sent to accessibility services. Prior to
Build.VERSION_CODES.LOLLIPOP
, sets the text that is displayed in the status bar
when the notification first arrives, and also a RemoteViews object that may be displayed
instead on some devices.
Parameters | |
---|---|
tickerText |
CharSequence |
views |
RemoteViews |
Returns | |
---|---|
NotificationCompat.Builder |
setTicker
public NotificationCompat.Builder setTicker (CharSequence tickerText)
Sets the "ticker" text which is sent to accessibility services. Prior to
Build.VERSION_CODES.LOLLIPOP
, sets the text that is displayed in the status bar
when the notification first arrives.
Parameters | |
---|---|
tickerText |
CharSequence |
Returns | |
---|---|
NotificationCompat.Builder |
setTimeoutAfter
public NotificationCompat.Builder setTimeoutAfter (long durationMs)
Specifies the time at which this notification should be canceled, if it is not already
canceled.
No-op on versions prior to Build.VERSION_CODES.O
.
Parameters | |
---|---|
durationMs |
long |
Returns | |
---|---|
NotificationCompat.Builder |
setUsesChronometer
public NotificationCompat.Builder setUsesChronometer (boolean b)
Show the Notification.when
field as a stopwatch.
Instead of presenting when
as a timestamp, the notification will show an
automatically updating display of the minutes and seconds since when
.
Useful when showing an elapsed time (like an ongoing phone call).
Parameters | |
---|---|
b |
boolean |
Returns | |
---|---|
NotificationCompat.Builder |
See also:
setVibrate
public NotificationCompat.Builder setVibrate (long[] pattern)
Set the vibration pattern to use.
On some platforms, a notification that vibrates is more likely to be presented as a heads-up notification.
On platforms Build.VERSION_CODES.O
and above this value is ignored in favor
of the value set on the notification's channel
. On older
platforms, this value is still used, so it is still required for apps supporting
those platforms.
Parameters | |
---|---|
pattern |
long |
Returns | |
---|---|
NotificationCompat.Builder |
setVisibility
public NotificationCompat.Builder setVisibility (int visibility)
Sets Notification.visibility
.
Parameters | |
---|---|
visibility |
int : One of Notification.VISIBILITY_PRIVATE (the default),
Notification.VISIBILITY_PUBLIC , or
Notification.VISIBILITY_SECRET .
|
Returns | |
---|---|
NotificationCompat.Builder |
setWhen
public NotificationCompat.Builder setWhen (long when)
Set the time that the event occurred. Notifications in the panel are sorted by this time.
For apps targeting Build.VERSION_CODES.N
and above, this time is
not shown anymore by default and must be opted into using setShowWhen(boolean)
Parameters | |
---|---|
when |
long |
Returns | |
---|---|
NotificationCompat.Builder |
Protected methods
limitCharSequenceLength
protected static CharSequence limitCharSequenceLength (CharSequence cs)
Parameters | |
---|---|
cs |
CharSequence |
Returns | |
---|---|
CharSequence |