Added in API level 1

Instrumentation.ActivityMonitor


public static class Instrumentation.ActivityMonitor
extends Object

java.lang.Object
   ↳ android.app.Instrumentation.ActivityMonitor


Information about a particular kind of Intent that is being monitored. An instance of this class is added to the current instrumentation through Instrumentation.addMonitor(ActivityMonitor); after being added, when a new activity is being started the monitor will be checked and, if matching, its hit count updated and (optionally) the call stopped and a canned result returned.

An ActivityMonitor can also be used to look for the creation of an activity, through the waitForActivity() method. This will return after a matching activity has been created with that activity object.

Summary

Public constructors

ActivityMonitor()

Create a new ActivityMonitor that can be used for intercepting any activity to be started.

ActivityMonitor(IntentFilter which, Instrumentation.ActivityResult result, boolean block)

Create a new ActivityMonitor that looks for a particular kind of intent to be started.

ActivityMonitor(String cls, Instrumentation.ActivityResult result, boolean block)

Create a new ActivityMonitor that looks for a specific activity class to be started.

Public methods

final IntentFilter getFilter()

Retrieve the filter associated with this ActivityMonitor.

final int getHits()

Retrieve the number of times the monitor has been hit so far.

final Activity getLastActivity()

Retrieve the most recent activity class that was seen by this monitor.

final Instrumentation.ActivityResult getResult()

Retrieve the result associated with this ActivityMonitor, or null if none.

final boolean isBlocking()

Check whether this monitor blocks activity starts (not allowing the actual activity to run) or allows them to execute normally.

Instrumentation.ActivityResult onStartActivity(Intent intent)

Used for intercepting any started activity.

final Activity waitForActivity()

Block until an Activity is created that matches this monitor, returning the resulting activity.

final Activity waitForActivityWithTimeout(long timeOut)

Block until an Activity is created that matches this monitor, returning the resulting activity or till the timeOut period expires.

Inherited methods

Public constructors

ActivityMonitor

Added in API level 26
public ActivityMonitor ()

Create a new ActivityMonitor that can be used for intercepting any activity to be started.

When an activity is started, onStartActivity(android.content.Intent) will be called on instances created using this constructor to see if it is a hit.

ActivityMonitor

Added in API level 1
public ActivityMonitor (IntentFilter which, 
                Instrumentation.ActivityResult result, 
                boolean block)

Create a new ActivityMonitor that looks for a particular kind of intent to be started.

Parameters
which IntentFilter: The set of intents this monitor is responsible for.

result Instrumentation.ActivityResult: A canned result to return if the monitor is hit; can be null.

block boolean: Controls whether the monitor should block the activity start (returning its canned result) or let the call proceed.

ActivityMonitor

Added in API level 1
public ActivityMonitor (String cls, 
                Instrumentation.ActivityResult result, 
                boolean block)

Create a new ActivityMonitor that looks for a specific activity class to be started.

Parameters
cls String: The activity class this monitor is responsible for.

result Instrumentation.ActivityResult: A canned result to return if the monitor is hit; can be null.

block boolean: Controls whether the monitor should block the activity start (returning its canned result) or let the call proceed.

Public methods

getFilter

Added in API level 1
public final IntentFilter getFilter ()

Retrieve the filter associated with this ActivityMonitor.

Returns
IntentFilter

getHits

Added in API level 1
public final int getHits ()

Retrieve the number of times the monitor has been hit so far.

Returns
int

getLastActivity

Added in API level 1
public final Activity getLastActivity ()

Retrieve the most recent activity class that was seen by this monitor.

Returns
Activity

getResult

Added in API level 1
public final Instrumentation.ActivityResult getResult ()

Retrieve the result associated with this ActivityMonitor, or null if none.

Returns
Instrumentation.ActivityResult

isBlocking

Added in API level 1
public final boolean isBlocking ()

Check whether this monitor blocks activity starts (not allowing the actual activity to run) or allows them to execute normally.

Returns
boolean

onStartActivity

Added in API level 26
public Instrumentation.ActivityResult onStartActivity (Intent intent)

Used for intercepting any started activity.

A non-null return value here will be considered a hit for this monitor. By default this will return null and subclasses can override this to return a non-null value if the intent needs to be intercepted.

Whenever a new activity is started, this method will be called on instances created using ActivityMonitor() to check if there is a match. In case of a match, the activity start will be blocked and the returned result will be used.

Parameters
intent Intent: The intent used for starting the activity.

Returns
Instrumentation.ActivityResult The ActivityResult that needs to be used in case of a match.

waitForActivity

Added in API level 1
public final Activity waitForActivity ()

Block until an Activity is created that matches this monitor, returning the resulting activity.

Returns
Activity Activity

waitForActivityWithTimeout

Added in API level 1
public final Activity waitForActivityWithTimeout (long timeOut)

Block until an Activity is created that matches this monitor, returning the resulting activity or till the timeOut period expires. If the timeOut expires before the activity is started, return null.

Parameters
timeOut long: Time to wait in milliseconds before the activity is created.

Returns
Activity Activity