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.

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

Wearable extender for notification actions.

Constants

static final int

The action’s visual emphasis is generally the default, or may be automatically determined by the system based on context.

static final int

The action’s visual emphasis may indicate that this action is more important than others.

static final int

The action’s visual emphasis may indicate that this action is less important than others.

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: Pause the content associated with the notification.

static final int

SemanticAction: Start (or continue previously paused) content associated with the notification.

static final int

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

static final int

SemanticAction: Stop the content associated with the notification.

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.

static final int

The action can be presented with the best form for the content and context.

static final int

The action is best represented by a combo of the icon and text.

static final int

The action is best represented by only its icon.

static final int

The action is best represented by only the text (its title).

Public fields

@Nullable PendingIntent

Intent to send when the user invokes this action.

int

This field is deprecated.

Use getIconCompat instead.

@Nullable 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.

int

Returns the app’s hint about the importance of this action relative to others in this notification.

@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.

int

Returns the app’s hint about the preferred visual style of this action.

@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

EMPHASIS_AUTO

public static final int EMPHASIS_AUTO = 0

The action’s visual emphasis is generally the default, or may be automatically determined by the system based on context.

EMPHASIS_PRIMARY

public static final int EMPHASIS_PRIMARY = 1

The action’s visual emphasis may indicate that this action is more important than others.

EMPHASIS_SECONDARY

public static final int EMPHASIS_SECONDARY = 2

The action’s visual emphasis may indicate that this action is less important than others.

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_PAUSE

public static final int SEMANTIC_ACTION_PAUSE = 14

SemanticAction: Pause the content associated with the notification. This could mean pausing media playback, pausing a running timer, etc.

SEMANTIC_ACTION_PLAY

public static final int SEMANTIC_ACTION_PLAY = 13

SemanticAction: Start (or continue previously paused) content associated with the notification. This could mean starting media playback, resuming a paused timer, etc.

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_STOP

public static final int SEMANTIC_ACTION_STOP = 15

SemanticAction: Stop the content associated with the notification. This could mean stopping media playback, resetting a timer, etc. It is implied that a follow-up SEMANTIC_ACTION_PLAY would restart from the beginning, or may not be offered at all.

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.

STYLE_AUTO

public static final int STYLE_AUTO = 0

The action can be presented with the best form for the content and context.

STYLE_ICON_AND_TEXT

public static final int STYLE_ICON_AND_TEXT = 2

The action is best represented by a combo of the icon and text.

STYLE_ICON_ONLY

public static final int STYLE_ICON_ONLY = 3

The action is best represented by only its icon.

STYLE_TEXT_ONLY

public static final int STYLE_TEXT_ONLY = 1

The action is best represented by only the text (its title).

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 @Nullable 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.

getEmphasisHint

public int getEmphasisHint()

Returns the app’s hint about the importance of this action relative to others in this notification.

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.

getStyleHint

public int getStyleHint()

Returns the app’s hint about the preferred visual style of this action.

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.