Android 监控应用中所有Activity 的生命周期
2017-12-21 11:28
183 查看
众所周知,我们可以在Activity 里面监控当前Activity 的生命周期,比如onResume() ,onCreate() 等等。如果想监控所有Activity 的生命周期呢?你可能会说那在BaseActivity 里面去写啊,用集合记录。当然这能做到,可是有没有更简单的办法呢?
其实我们可以在Application 的onCreate() 里去注册一个监听:
public class MyApplication extends Application {
public static MyApplication app;
@Override
public void onCreate() {
super.onCreate();
app = this;
this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
// Log.v("tag_2","onActivityCreated" + activity.getClass().getName());
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
// Log.v("tag_2","onActivityDestroyed" + activity.getClass().getName());
}
});
}
}这样就可以监控整个应用的生命周期了。还可以做到判断当前应用是否在后台。具体能做什么,你可以发挥你的想象了。
其实我们可以在Application 的onCreate() 里去注册一个监听:
public class MyApplication extends Application {
public static MyApplication app;
@Override
public void onCreate() {
super.onCreate();
app = this;
this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
// Log.v("tag_2","onActivityCreated" + activity.getClass().getName());
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
// Log.v("tag_2","onActivityDestroyed" + activity.getClass().getName());
}
});
}
}这样就可以监控整个应用的生命周期了。还可以做到判断当前应用是否在后台。具体能做什么,你可以发挥你的想象了。
相关文章推荐
- android 应用主题样式设置,及Activity生命周期了解
- android应用开发笔记---Activity生命周期二
- Android 应用软件开发(五)Activity生命周期
- Android 一次性关闭所有的activity 完全退出应用
- 监听Android所有Activity的生命周期
- Android获得手机所有应用(非系统)、正在运行的Service和Activity
- Android四大组件——Activity生命周期、启动模式、显隐式意图、杀死进程、杀死所有Activity、安装及反编译
- Android应用开发提高系列 Activity生命周期
- Android中利用广播退出应用的所有activity
- Android应用开发:Activity 生命周期
- Android关闭应用中的所有Activity(三)
- android退出应用销毁所有的activity
- Android关闭应用中的所有Activity(三)
- Android 使用ActivityLifecycleCallbacks监听自己应用Activity的生命周期
- android中Activity的生命周期及应用
- Android关闭应用中的所有Activity(二)
- Android应用开发(二):Activity生命周期剖析以及如何启动新的Activity或网页
- 一个面试题引发的思考:Android应用退出时候,关闭所有的Activity
- Android关闭应用中的所有Activity(二)
- Android应用开发(二):Activity生命周期剖析以及如何启动新的Activity或网页