ActivityLifecycleMonitor

public interface ActivityLifecycleMonitor

android.support.test.runner.lifecycle.ActivityLifecycleMonitor


当需要查询活动生命周期状态时使用的测试接口。

活动生命周期更改仅在UI线程上发生 - 因此,注册到ActivityLifecycleMonitor的监听器应预期在UI线程上调用。 直接查询方法只能在UI线程上调用,否则它们将无法返回一致的响应。

通过 ActivityLifecycleMonitorRegistry检索显示器的实例。

检测这些生命周期状态需要Instrumentation的支持,因此不要指望任何实例在任何仪器下出现。

Summary

Public methods

abstract void addLifecycleCallback(ActivityLifecycleCallback callback)

添加一个新的回调,当生命周期发生变化时会通知您。

abstract Collection<Activity> getActivitiesInStage(Stage stage)

返回其生命周期某个特定阶段的所有活动。

abstract Stage getLifecycleStageOf(Activity activity)

返回给定活动的当前生命周期阶段。

abstract void removeLifecycleCallback(ActivityLifecycleCallback callback)

删除以前注册的生命周期回调。

Public methods

addLifecycleCallback

void addLifecycleCallback (ActivityLifecycleCallback callback)

添加一个新的回调,当生命周期发生变化时会通知您。

实现者不会强调回调,注册回调的代码对此负责。 代码注册回调应该负责任地删除它们不再需要时的回调。

回调在应用程序的主线程上执行,并且应小心不要阻止或执行昂贵的操作,因为它会直接影响应用程序。

Parameters
callback ActivityLifecycleCallback: an ActivityLifecycleCallback

getActivitiesInStage

Collection<Activity> getActivitiesInStage (Stage stage)

返回其生命周期某个特定阶段的所有活动。

这个方法只能从主线程返回一个一致的,正确的答案,因此调用者应该总是从主线程调用它,如果调用不在主线程中,实现者可以自由地抛出异常。

实现者应确保此方法在从此监视器注册的生命周期回调中调用时返回一致的响应(例如:如果回调看到PAUSED并且在PAUSED中调用此方法并且在响应中未看到其活动,那将是非常糟糕的错误。

呼叫者应该意识到监视器的实现可能不会强有力地引用应用程序中的活动。 因此,在低内存情况下,被视为结束阶段或有资格进行垃圾回收的阶段,如果已被垃圾收集,则不会返回特定活动的实例。

Parameters
stage Stage: the stage to query for.
Returns
Collection<Activity> a snapshot Collection of activities in the given stage. This collection may be empty.
Throws
IllegalStateException if called from outside the main thread.

getLifecycleStageOf

Stage getLifecycleStageOf (Activity activity)

返回给定活动的当前生命周期阶段。

这个方法只能从主线程返回一个一致的,正确的答案,因此调用者应该总是从主线程调用它,如果调用不在主线程中,实现者可以自由地抛出异常。

实现者应该确保这个方法返回一个一致的响应,如果从在这个监视器中注册的生命周期回调中调用的话(例如:如果回调看到PAUSED并且调用这个方法具有相同的活动并且获得RESUMED,那将是非常糟糕的。

Parameters
activity Activity: an activity in this application.
Returns
Stage the lifecycle stage this activity is in.
Throws
IllegalArgumentException if activity is unknown to the monitor.
NullPointerException if activity is null.
IllegalStateException if called off the main thread.

removeLifecycleCallback

void removeLifecycleCallback (ActivityLifecycleCallback callback)

删除以前注册的生命周期回调。

Parameters
callback ActivityLifecycleCallback