public abstract class

Action

extends Object
java.lang.Object
   ↳ com.urbanairship.actions.Action
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

The base action class that describes an operation to perform.

An action is an abstraction over a unary function, which takes ActionArguments and performs a defined task, producing an optional ActionResult. Actions may restrict or vary the work they perform depending on the arguments they receive, which may include type introspection and runtime context.

In the larger view, the Actions framework provides a convenient way to automatically perform tasks by name in response to push notifications, Rich App Page interactions and JavaScript.

The UA library comes with pre-made actions for common tasks such as setting tags and opening URLs out of the box, but this class can also be extended to enable custom app behaviors and engagement experiences.

While actions can be run manually, typically they are associated with names in the ActionRegistry, and run on their own threads with the ActionRunRequest.

Actions that are either long lived or are unable to be interrupted by the device going to sleep should request a wake lock before performing. This is especially important for actions that are performing in Situation.PUSH_RECEIVED, when a push is delivered when the device is not active.

Summary

Nested Classes
class Action.ActivityResult Wraps the result code and data from starting an activity for a result. 
Public Constructors
Action()
Public Methods
boolean acceptsArguments(ActionArguments arguments)
Called before an action is performed to determine if the the action can accept the arguments.
void onFinish(ActionArguments arguments, ActionResult result)
Called after the action performs.
void onStart(ActionArguments arguments)
Called before an action is performed.
abstract ActionResult perform(ActionArguments arguments)
Performs the action.
final int[] requestPermissions(String... permissions)
Requests permissions.
final Action.ActivityResult startActivityForResult(Intent intent)
Starts an activity for a result.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public Action ()

Public Methods

public boolean acceptsArguments (ActionArguments arguments)

Called before an action is performed to determine if the the action can accept the arguments.

Parameters
arguments The action arguments.
Returns
  • true if the action can perform with the arguments, otherwise false.

public void onFinish (ActionArguments arguments, ActionResult result)

Called after the action performs.

Parameters
arguments The action arguments.
result The result of the action.

public void onStart (ActionArguments arguments)

Called before an action is performed.

Parameters
arguments The action arguments.

public abstract ActionResult perform (ActionArguments arguments)

Performs the action.

Parameters
arguments The action arguments.
Returns
  • The result of the action.

public final int[] requestPermissions (String... permissions)

Requests permissions.

Parameters
permissions The permissions to request.
Returns
  • The result from requesting permissions.

public final Action.ActivityResult startActivityForResult (Intent intent)

Starts an activity for a result.

Parameters
intent The activity to start.
Returns
  • The result of the activity in a ActivityResult object.