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!

Creates and returns a copy of this object.

open Int

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

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)

Flatten this object in to a Parcel.

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!

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:

x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
x.clone().equals(x)
will be true, this is not an absolute requirement.

By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.

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

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
Value is either 0 or

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.

getSemanticAction

Added in API level 28
open fun getSemanticAction(): Int

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

Return
Int Value is one of the following:

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

Flatten this object in to a Parcel.

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 the following:

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.