用意されています。
参考:Android Developerサイト
これを利用することでアプリケーション内にあるActivityのライフサイクル
メソッドのコールバックを検知することができます。
下記サンプルコートです。
public class TestApplication extends Application { @Override public void onCreate() { super.onCreate(); registerActivityLifecycleCallbacks(new ActivityLifeCycleListener()); } private static class ActivityLifeCycleListener implements ActivityLifecycleCallbacks { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { android.util.Log.e("yuki", "yuki call onCreated:" + activity); } @Override public void onActivityStarted(Activity activity) {} @Override public void onActivityResumed(Activity activity) { android.util.Log.e("yuki", "yuki call onResumed:" + activity); } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) {} @Override public void onActivityPaused(Activity activity) { android.util.Log.e("yuki", "yuki call onPaused:" + activity);} @Override public void onActivityStopped(Activity activity) {} @Override public void onActivityDestroyed(Activity activity) {} } }このアプリに内包されているTestApplication2Activityを起動→終了した場合
のログは下記になります。
E/yuki(687): yuki call onCreated:test.yuki.TestApplication2Activity@4136e050
E/yuki(687): yuki call onResumed:test.yuki.TestApplication2Activity@4136e050
E/yuki(687): yuki call onPaused:test.yuki.TestApplication2Activity@4136e050
コールバックで渡されてくる引数ActivityからどのActivityかを判断するのは
instanceofやマーカーインターフェースを利用て判定できるでしょう。
またActivityのライフサイクルで共通の処理を実装する場合や、Activityを
一元管理したい場合にも便利です。
以上です。