下面列出了怎么用android.app.Application.ActivityLifecycleCallbacks的API类实例代码及写法,或者点击链接到github查看源代码。
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private static void initApp(Context context) {
Application application = (Application) mAppContext;
if (application != null) {
mAppInited = true;
if (mLifecycleCallbacks == null) {
mLifecycleCallbacks = new PXLifecycleCallbacks();
}
application
.unregisterActivityLifecycleCallbacks((ActivityLifecycleCallbacks) mLifecycleCallbacks);
application
.registerActivityLifecycleCallbacks((ActivityLifecycleCallbacks) mLifecycleCallbacks);
}
}
@Test
public void registersCallbacks() {
recognizer.start();
verify(mockApplication).registerActivityLifecycleCallbacks(any(ActivityLifecycleCallbacks.class));
verify(mockApplication).registerComponentCallbacks(any(ComponentCallbacks2.class));
verify(mockApplication).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
}
@Test
public void unregistersCallbacks() {
recognizer.start();
recognizer.stop();
verify(mockApplication).unregisterActivityLifecycleCallbacks(any(ActivityLifecycleCallbacks.class));
verify(mockApplication).unregisterComponentCallbacks(any(ComponentCallbacks2.class));
verify(mockApplication).unregisterReceiver(any(BroadcastReceiver.class));
}
@TargetApi(ICE_CREAM_SANDWICH)
private void setActivityToCreated() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivityCreated(activity, null);
}
@TargetApi(ICE_CREAM_SANDWICH)
private void setActivityToDestroyed() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivityDestroyed(activity);
}
@TargetApi(ICE_CREAM_SANDWICH)
private void setActivityToResumed() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivityResumed(activity);
}
@TargetApi(ICE_CREAM_SANDWICH)
private void setActivityToPaused() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivityPaused(activity);
}
@TargetApi(ICE_CREAM_SANDWICH)
private void setActivityToStarted() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivityStarted(activity);
}
@TargetApi(ICE_CREAM_SANDWICH)
private void setActivityToStopped() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivityStopped(activity);
}
@TargetApi(ICE_CREAM_SANDWICH)
private void saveActivityInstanceState() {
final ArgumentCaptor<ActivityLifecycleCallbacks> captor =
forClass(ActivityLifecycleCallbacks.class);
verify(application).registerActivityLifecycleCallbacks(captor.capture());
final ActivityLifecycleCallbacks callbacks = captor.getValue();
callbacks.onActivitySaveInstanceState(activity, null);
}
@Override
public void injectActivityLifecycle(Context context,
List<ActivityLifecycleCallbacks> lifecycles) {
}
@Override
public void injectActivityLifecycle(Context context,
List<ActivityLifecycleCallbacks> lifecycles) {
}
@Override
public void injectActivityLifecycle(Context context,
List<ActivityLifecycleCallbacks> lifecycles) {
}
public static void a(Application application) {
ActivityLifecycleCallbacks lVar = new l();
application.unregisterActivityLifecycleCallbacks(lVar);
application.registerActivityLifecycleCallbacks(lVar);
}
@TargetApi(14)
private void clearCallbacks() {
for (ActivityLifecycleCallbacks callback : this.registeredCallbacks) {
this.application.unregisterActivityLifecycleCallbacks(callback);
}
}