Android 4.0(API Level 14)新增了一个接口ActivityLifecycleCallbacks,用于监听应用中所有Activity的运行情况,解放了开发者统计分析Activity的困难。
官方文档:http://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks.html
registerActivityLifecycleCallbacks是Application的一个接口,注册之后应用里的所有activity的生命周期都会被监控起来,我们可以在此接口方法里实现一些特殊的需求。比如统计用户对每个Activity使用情况,我们可以定义一个BaseActivity,在onStart()和onStop()人工插入统计方法。比如从桌面进应用的时候,检测某些状态,就可以在onActivityResumed方法里检测。
使用方法:
在Application 的onCreate方法中使用registerActivityLifecycleCallbacks(callback)注册你的CallBack,如下:
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityStopped(Activity arg0) {
// TODO Auto-generated method stub
LogHelper
.i(TAG, "ActivityLifecycleCallbacks:onActivityStopped");
}
@Override
public void onActivityStarted(Activity arg0) {
// TODO Auto-generated method stub
LogHelper
.i(TAG, "ActivityLifecycleCallbacks:onActivityStarted");
}
@Override
public void onActivitySaveInstanceState(Activity arg0, Bundle arg1) {
// TODO Auto-generated method stub
LogHelper
.i(TAG,
"ActivityLifecycleCallbacks:onActivitySaveInstanceState");
}
@Override
public void onActivityResumed(Activity arg0) {
// TODO Auto-generated method stub
LogHelper
.i(TAG, "ActivityLifecycleCallbacks:onActivityResumed");
}
@Override
public void onActivityPaused(Activity arg0) {
// TODO Auto-generated method stub
LogHelper.i(TAG, "ActivityLifecycleCallbacks:onActivityPaused");
}
@Override
public void onActivityDestroyed(Activity arg0) {
// TODO Auto-generated method stub
LogHelper.i(TAG,
"ActivityLifecycleCallbacks:onActivityDestroyed");
}
@Override
public void onActivityCreated(Activity arg0, Bundle arg1) {
// TODO Auto-generated method stub
LogHelper
.i(TAG, "ActivityLifecycleCallbacks:onActivityCreated");
}
});