Notification.Action.Builder

public static final class Notification.Action.Builder
extends Object

java.lang.Object
   ↳ android.app.Notification.Action.Builder


Builder class for Action objects.

Summary

Public constructors

Builder(int icon, CharSequence title, PendingIntent intent)

Construct a new builder for Action object.

Builder(Icon icon, CharSequence title, PendingIntent intent)

Construct a new builder for Action object.

Builder(Notification.Action action)

Construct a new builder for Action object using the fields from an Action.

Public methods

Notification.Action.Builder addExtras(Bundle extras)

Merge additional metadata into this builder.

Notification.Action.Builder addRemoteInput(RemoteInput remoteInput)

Add an input to be collected from the user when this action is sent.

Notification.Action build()

Combine all of the options that have been set and return a new Action object.

Notification.Action.Builder extend(Notification.Action.Extender extender)

Apply an extender to this action builder.

Bundle getExtras()

Get the metadata Bundle used by this Builder.

Notification.Action.Builder setAllowGeneratedReplies(boolean allowGeneratedReplies)

Set whether the platform should automatically generate possible replies to add to RemoteInput#getChoices().

Notification.Action.Builder setAuthenticationRequired(boolean authenticationRequired)

Sets whether the OS should only send this action's PendingIntent on an unlocked device.

Notification.Action.Builder setContextual(boolean isContextual)

Sets whether this Action is a contextual action, i.e.

Notification.Action.Builder setSemanticAction(int semanticAction)

Sets the SemanticAction for this Action.

Inherited methods

Public constructors

Builder

Added in API level 20
public Builder (int icon, 
                CharSequence title, 
                PendingIntent intent)

Construct a new builder for Action object.

As of Android Build.VERSION_CODES.N, action button icons will not be displayed on action buttons, but are still required and are available to notification listeners, which may display them in other contexts, for example on a wearable device.

Parameters
icon int: icon to show for this action

title CharSequence: the title of the action

intent PendingIntent: the PendingIntent to fire when users trigger this action. May be null, in which case the action may be rendered in a disabled presentation by the system UI.

Builder

Added in API level 20
public Builder (Icon icon, 
                CharSequence title, 
                PendingIntent intent)

Construct a new builder for Action object.

As of Android Build.VERSION_CODES.S, apps targeting API level Build.VERSION_CODES.S or higher won't be able to start activities while processing broadcast receivers or services in response to notification action clicks. To launch an activity in those cases, provide a PendingIntent for the activity itself.

How an Action is displayed, including whether the icon, text, or both are displayed or required, depends on where and how the action is used, and the Style applied to the Notification.

As of Android Build.VERSION_CODES.N, action button icons will not be displayed on action buttons, but are still required and are available to notification listeners, which may display them in other contexts, for example on a wearable device.

When the title is a Spanned, any colors set by a ForegroundColorSpan or TextAppearanceSpan may be removed or displayed with an altered in luminance to ensure proper contrast within the Notification.

Parameters
icon Icon: icon to show for this action

title CharSequence: the title of the action

intent PendingIntent: the PendingIntent to fire when users trigger this action. May be null, in which case the action may be rendered in a disabled presentation by the system UI.

Builder

Added in API level 20
public Builder (Notification.Action action)

Construct a new builder for Action object using the fields from an Action.

Parameters
action Notification.Action: the action to read fields from.

Public methods

addExtras

Added in API level 20
public Notification.Action.Builder addExtras (Bundle extras)

Merge additional metadata into this builder.

Values within the Bundle will replace existing extras values in this Builder.

Parameters
extras Bundle

Returns
Notification.Action.Builder This value cannot be null.

addRemoteInput

Added in API level 20
public Notification.Action.Builder addRemoteInput (RemoteInput remoteInput)

Add an input to be collected from the user when this action is sent. Response values can be retrieved from the fired intent by using the RemoteInput#getResultsFromIntent function.

Parameters
remoteInput RemoteInput: a RemoteInput to add to the action

Returns
Notification.Action.Builder this object for method chaining This value cannot be null.

build

Added in API level 20
public Notification.Action build ()

Combine all of the options that have been set and return a new Action object.

Returns
Notification.Action the built action This value cannot be null.

extend

Added in API level 20
public Notification.Action.Builder extend (Notification.Action.Extender extender)

Apply an extender to this action builder. Extenders may be used to add metadata or change options on this builder.

Parameters
extender Notification.Action.Extender

Returns
Notification.Action.Builder This value cannot be null.

getExtras

Added in API level 20
public Bundle getExtras ()

Get the metadata Bundle used by this Builder.

The returned Bundle is shared with this Builder.

Returns
Bundle This value cannot be null.

setAllowGeneratedReplies

Added in API level 24
public Notification.Action.Builder setAllowGeneratedReplies (boolean allowGeneratedReplies)

Set whether the platform should automatically generate possible replies to add to RemoteInput#getChoices(). If the Action doesn't have a RemoteInput, this has no effect.

Parameters
allowGeneratedReplies boolean: true to allow generated replies, false otherwise

Returns
Notification.Action.Builder this object for method chaining The default value is true This value cannot be null.

setAuthenticationRequired

Added in API level 31
public Notification.Action.Builder setAuthenticationRequired (boolean authenticationRequired)

Sets whether the OS should only send this action's PendingIntent on an unlocked device. If this is true and the device is locked when the action is invoked, the OS will show the keyguard and require successful authentication before invoking the intent. If this is false and the device is locked, the OS will decide whether authentication should be required.

Parameters
authenticationRequired boolean

Returns
Notification.Action.Builder This value cannot be null.

setContextual

Added in API level 29
public Notification.Action.Builder setContextual (boolean isContextual)

Sets whether this Action is a contextual action, i.e. whether the action is dependent on the notification message body. An example of a contextual action could be an action opening a map application with an address shown in the notification.

Parameters
isContextual boolean

Returns
Notification.Action.Builder This value cannot be null.

setSemanticAction

Added in API level 28
public Notification.Action.Builder setSemanticAction (int semanticAction)

Sets the SemanticAction for this Action. A SemanticAction denotes what an Action's PendingIntent will do (eg. reply, mark as read, delete, etc).

Parameters
semanticAction int: a SemanticAction defined within Action with SEMANTIC_ACTION_ prefixes Value is Notification.Action.SEMANTIC_ACTION_NONE, Notification.Action.SEMANTIC_ACTION_REPLY, Notification.Action.SEMANTIC_ACTION_MARK_AS_READ, Notification.Action.SEMANTIC_ACTION_MARK_AS_UNREAD, Notification.Action.SEMANTIC_ACTION_DELETE, Notification.Action.SEMANTIC_ACTION_ARCHIVE, Notification.Action.SEMANTIC_ACTION_MUTE, Notification.Action.SEMANTIC_ACTION_UNMUTE, Notification.Action.SEMANTIC_ACTION_THUMBS_UP, Notification.Action.SEMANTIC_ACTION_THUMBS_DOWN, Notification.Action.SEMANTIC_ACTION_CALL, android.app.Notification.Action.SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY, or android.app.Notification.Action.SEMANTIC_ACTION_CONVERSATION_IS_PHISHING

Returns
Notification.Action.Builder this object for method chaining This value cannot be null.