NotificationCompat.Action

Added in 1.1.0

public class NotificationCompat.Action


Structure to encapsulate a named action that can be shown as part of this notification. It must include an icon, a label, and a PendingIntent to be fired when the action is selected by the user. Action buttons won't appear on platforms prior to Android JELLY_BEAN.

As of Android 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.

Apps should use addAction or addAction to attach actions.

Summary

Nested types

Builder class for Action objects.

Extender interface for use with extend.

@IntDef(value = )
@Retention(value = RetentionPolicy.SOURCE)
public annotation NotificationCompat.Action.SemanticAction

Provides meaning to an Action that hints at what the associated PendingIntent will do.

Wearable extender for notification actions.

Constants

static final int

SemanticAction: Archive the content associated with the notification.

static final int

SemanticAction: Call a contact, group, etc.

static final int

SemanticAction: Delete the content associated with the notification.

static final int

SemanticAction: Mark content as read.

static final int

SemanticAction: Mark content as unread.

static final int

SemanticAction: Mute the content associated with the notification.

static final int

SemanticAction: No semantic action defined.

static final int

SemanticAction: Reply to a conversation, chat, group, or wherever replies may be appropriate.

static final int

SemanticAction: Mark content with a thumbs down.

static final int

SemanticAction: Mark content with a thumbs up.

static final int

SemanticAction: Unmute the content associated with the notification.

Public fields

@Nullable PendingIntent

Intent to send when the user invokes this action.

int

This field is deprecated.

Use getIconCompat instead.

CharSequence

Title of the action.

Public constructors

Action(
    @Nullable IconCompat icon,
    @Nullable CharSequence title,
    @Nullable PendingIntent intent
)

Note: For devices running an Android version strictly lower than API level 23 this constructor only supports resource-ID based IconCompat objects.

Action(
    int icon,
    @Nullable CharSequence title,
    @Nullable PendingIntent intent
)

Public methods

@Nullable PendingIntent
boolean

Return whether the platform should automatically generate possible replies for this Action

@Nullable RemoteInput[]

Get the list of inputs to be collected from the user that ONLY accept data when this action is sent.

@NonNull Bundle

Get additional metadata carried around with this Action.

int

This method is deprecated.

use getIconCompat instead.

@Nullable IconCompat

Return the icon associated with this Action.

@Nullable RemoteInput[]

Get the list of inputs to be collected from the user when this action is sent.

int

Returns the SemanticAction associated with this Action.

boolean

Return whether or not triggering this Action's PendingIntent will open a user interface.

@Nullable CharSequence
boolean

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

boolean

Returns whether this is a contextual Action, i.e. whether the action is dependent on the notification message body.

Constants

SEMANTIC_ACTION_ARCHIVE

Added in 1.1.0
public static final int SEMANTIC_ACTION_ARCHIVE = 5

SemanticAction: Archive the content associated with the notification. This could mean archiving an email, message, etc.

SEMANTIC_ACTION_CALL

Added in 1.1.0
public static final int SEMANTIC_ACTION_CALL = 10

SemanticAction: Call a contact, group, etc.

SEMANTIC_ACTION_DELETE

Added in 1.1.0
public static final int SEMANTIC_ACTION_DELETE = 4

SemanticAction: Delete the content associated with the notification. This could mean deleting an email, message, etc.

SEMANTIC_ACTION_MARK_AS_READ

Added in 1.1.0
public static final int SEMANTIC_ACTION_MARK_AS_READ = 2

SemanticAction: Mark content as read.

SEMANTIC_ACTION_MARK_AS_UNREAD

Added in 1.1.0
public static final int SEMANTIC_ACTION_MARK_AS_UNREAD = 3

SemanticAction: Mark content as unread.

SEMANTIC_ACTION_MUTE

Added in 1.1.0
public static final int SEMANTIC_ACTION_MUTE = 6

SemanticAction: Mute the content associated with the notification. This could mean silencing a conversation or currently playing media.

SEMANTIC_ACTION_NONE

Added in 1.1.0
public static final int SEMANTIC_ACTION_NONE = 0

SemanticAction: No semantic action defined.

SEMANTIC_ACTION_REPLY

Added in 1.1.0
public static final int SEMANTIC_ACTION_REPLY = 1

SemanticAction: Reply to a conversation, chat, group, or wherever replies may be appropriate.

SEMANTIC_ACTION_THUMBS_DOWN

Added in 1.1.0
public static final int SEMANTIC_ACTION_THUMBS_DOWN = 9

SemanticAction: Mark content with a thumbs down.

SEMANTIC_ACTION_THUMBS_UP

Added in 1.1.0
public static final int SEMANTIC_ACTION_THUMBS_UP = 8

SemanticAction: Mark content with a thumbs up.

SEMANTIC_ACTION_UNMUTE

Added in 1.1.0
public static final int SEMANTIC_ACTION_UNMUTE = 7

SemanticAction: Unmute the content associated with the notification. This could mean un-silencing a conversation or currently playing media.

Public fields

actionIntent

Added in 1.1.0
public @Nullable PendingIntent actionIntent

Intent to send when the user invokes this action. May be null, in which case the action may be rendered in a disabled presentation.

icon

Added in 1.1.0
Deprecated in 1.2.0
public int icon

Small icon representing the action.

title

Added in 1.1.0
public CharSequence title

Title of the action.

Public constructors

Action

Added in 1.2.0
public Action(
    @Nullable IconCompat icon,
    @Nullable CharSequence title,
    @Nullable PendingIntent intent
)

Note: For devices running an Android version strictly lower than API level 23 this constructor only supports resource-ID based IconCompat objects.

Action

Added in 1.1.0
public Action(
    int icon,
    @Nullable CharSequence title,
    @Nullable PendingIntent intent
)

Public methods

getActionIntent

Added in 1.1.0
public @Nullable PendingIntent getActionIntent()

getAllowGeneratedReplies

Added in 1.1.0
public boolean getAllowGeneratedReplies()

Return whether the platform should automatically generate possible replies for this Action

getDataOnlyRemoteInputs

Added in 1.1.0
public @Nullable RemoteInput[] getDataOnlyRemoteInputs()

Get the list of inputs to be collected from the user that ONLY accept data when this action is sent. These remote inputs are guaranteed to return true on a call to isDataOnly.

May return null if no data-only remote inputs were added.

This method exists so that legacy RemoteInput collectors that pre-date the addition of non-textual RemoteInputs do not access these remote inputs.

getExtras

Added in 1.1.0
public @NonNull Bundle getExtras()

Get additional metadata carried around with this Action.

getIcon

Added in 1.1.0
Deprecated in 1.2.0
public int getIcon()

getIconCompat

Added in 1.2.0
public @Nullable IconCompat getIconCompat()

Return the icon associated with this Action.

getRemoteInputs

Added in 1.1.0
public @Nullable RemoteInput[] getRemoteInputs()

Get the list of inputs to be collected from the user when this action is sent. May return null if no remote inputs were added. Only returns inputs which accept a text input. For inputs which only accept data use getDataOnlyRemoteInputs.

getSemanticAction

Added in 1.1.0
@NotificationCompat.Action.SemanticAction
public int getSemanticAction()

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

getShowsUserInterface

Added in 1.1.0
public boolean getShowsUserInterface()

Return whether or not triggering this Action's PendingIntent will open a user interface.

getTitle

Added in 1.1.0
public @Nullable CharSequence getTitle()

isAuthenticationRequired

Added in 1.8.0
public boolean isAuthenticationRequired()

Returns whether the OS should only send this action's PendingIntent on an unlocked device. If the device is locked when the action is invoked, the OS should show the keyguard and require successful authentication before invoking the intent.

isContextual

Added in 1.2.0
public boolean isContextual()

Returns whether this 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.