Added in API level 19

Action

open class Action : Parcelable
kotlin.Any
   ↳ android.app.Notification.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.

Apps should use Notification.Builder#addAction(int, CharSequence, PendingIntent) or Notification.Builder#addAction(Notification.Action) to attach actions.

As of Android android.os.Build.VERSION_CODES#S, apps targeting API level android.os.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.

Summary

Nested classes

Builder class for Action objects.

abstract

Extender interface for use with Builder#extend.

Wearable extender for notification actions.

Constants
static Int

SemanticAction: Archive the content associated with the notification.

static Int

SemanticAction: Call a contact, group, etc.

static Int

SemanticAction: Delete the content associated with the notification.

static Int

SemanticAction: Mark content as read.

static Int

SemanticAction: Mark content as unread.

static Int

SemanticAction: Mute the content associated with the notification.

static Int

No semantic action defined.

static Int

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

static Int

SemanticAction: Mark content with a thumbs down.

static Int

SemanticAction: Mark content with a thumbs up.

static Int

SemanticAction: Unmute the content associated with the notification.

Inherited constants
Public constructors
Action(icon: Int, title: CharSequence!, intent: PendingIntent?)

Public methods
open Notification.Action!

open Int

open Boolean

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

open Array<RemoteInput!>!

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

open Bundle!

Get additional metadata carried around with this Action.

open Icon!

Return an icon representing the action.

open Array<RemoteInput!>!

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

open Int

Returns the SemanticAction associated with this Action.

open Boolean

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

open Boolean

Returns whether this is a contextual Action, i.

open Unit
writeToParcel(out: Parcel, flags: Int)

Properties
static Parcelable.Creator<Notification.Action!>

PendingIntent!

Intent to send when the user invokes this action.

Int

Small icon representing the action.

CharSequence!

Title of the action.

Constants

SEMANTIC_ACTION_ARCHIVE

Added in API level 28
static val SEMANTIC_ACTION_ARCHIVE: Int

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

Value: 5

SEMANTIC_ACTION_CALL

Added in API level 28
static val SEMANTIC_ACTION_CALL: Int

SemanticAction: Call a contact, group, etc.

Value: 10

SEMANTIC_ACTION_DELETE

Added in API level 28
static val SEMANTIC_ACTION_DELETE: Int

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

Value: 4

SEMANTIC_ACTION_MARK_AS_READ

Added in API level 28
static val SEMANTIC_ACTION_MARK_AS_READ: Int

SemanticAction: Mark content as read.

Value: 2

SEMANTIC_ACTION_MARK_AS_UNREAD

Added in API level 28
static val SEMANTIC_ACTION_MARK_AS_UNREAD: Int

SemanticAction: Mark content as unread.

Value: 3

SEMANTIC_ACTION_MUTE

Added in API level 28
static val SEMANTIC_ACTION_MUTE: Int

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

Value: 6

SEMANTIC_ACTION_NONE

Added in API level 28
static val SEMANTIC_ACTION_NONE: Int

No semantic action defined.

Value: 0

SEMANTIC_ACTION_REPLY

Added in API level 28
static val SEMANTIC_ACTION_REPLY: Int

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

Value: 1

SEMANTIC_ACTION_THUMBS_DOWN

Added in API level 28
static val SEMANTIC_ACTION_THUMBS_DOWN: Int

SemanticAction: Mark content with a thumbs down.

Value: 9

SEMANTIC_ACTION_THUMBS_UP

Added in API level 28
static val SEMANTIC_ACTION_THUMBS_UP: Int

SemanticAction: Mark content with a thumbs up.

Value: 8

SEMANTIC_ACTION_UNMUTE

Added in API level 28
static val SEMANTIC_ACTION_UNMUTE: Int

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

Value: 7

Public constructors

Action

Added in API level 19
Action(
    icon: Int,
    title: CharSequence!,
    intent: PendingIntent?)

Deprecated: Use android.app.Notification.Action.Builder.

Parameters
intent PendingIntent?: This value may be null.

Public methods

clone

Added in API level 19
open fun clone(): Notification.Action!
Return
Notification.Action! a clone of this instance.
Exceptions
java.lang.CloneNotSupportedException if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.

describeContents

Added in API level 19
open fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

getAllowGeneratedReplies

Added in API level 24
open fun getAllowGeneratedReplies(): Boolean

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

getDataOnlyRemoteInputs

Added in API level 26
open fun getDataOnlyRemoteInputs(): Array<RemoteInput!>!

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 RemoteInput#isDataOnly. Returns null if there are no data-only remote inputs. 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 API level 20
open fun getExtras(): Bundle!

Get additional metadata carried around with this Action.

getIcon

Added in API level 23
open fun getIcon(): Icon!

Return an icon representing the action.

getRemoteInputs

Added in API level 20
open fun getRemoteInputs(): Array<RemoteInput!>!

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.

isAuthenticationRequired

Added in API level 31
open fun isAuthenticationRequired(): Boolean

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 API level 29
open fun isContextual(): Boolean

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.

writeToParcel

Added in API level 19
open fun writeToParcel(
    out: Parcel,
    flags: Int
): Unit
Parameters
dest The Parcel in which the object should be written. This value cannot be null.
flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

CREATOR

Added in API level 19
static val CREATOR: Parcelable.Creator<Notification.Action!>

actionIntent

Added in API level 19
var actionIntent: PendingIntent!

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

icon

Added in API level 19
Deprecated in API level 23
var icon: Int

Deprecated: Use Action#getIcon() instead.

Small icon representing the action.

title

Added in API level 19
var title: CharSequence!

Title of the action.