Android之ActivityLifecycleCallbacks的得到当前的activity的状态

来源:互联网 发布:mysql 修改sql语句 编辑:程序博客网 时间:2024/05/21 01:52

1、ActivityLifecycleCallbacks的介绍


Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理,注意是在Application里面,路径如下

android.app.Application.ActivityLifecycleCallbacks

要求API 14+ (Android 4.0+)

ActivityLifecycleCallbacks
里面接口方法







2、ActivityLifecycleCallbacks的使用

Class A {     private A getInstance() {return B.instance;}class static B {static final A instance = new A();}private A() {}public void init(Application app) {//registerapp.registerActivityLifecycleCallbacks(activitys);} private final ActivityLifecycleCallbacks activitys = new ActivityLifecycleCallbacks {@Override  public void onActivityStopped(Activity activity) {  Logger.v(activity, "onActivityStopped");  }     @Override  public void onActivityStarted(Activity activity) {  Logger.v(activity, "onActivityStarted");  }     @Override  public void onActivitySaveInstanceState(Activity activity, Bundle outState) {  Logger.v(activity, "onActivitySaveInstanceState");  }     @Override  public void onActivityResumed(Activity activity) {  Logger.v(activity, "onActivityResumed");  }     @Override  public void onActivityPaused(Activity activity) {  Logger.v(activity, "onActivityPaused");  }     @Override  public void onActivityDestroyed(Activity activity) {  Logger.v(activity, "onActivityDestroyed");  }     @Override  public void onActivityCreated(Activity activity, Bundle savedInstanceState) {  Logger.v(activity, "onActivityCreated");  }  };}

要记得注册,要记得先初始化




3、总结


我们可以用ActivityLifecycleCallbacks判断当前的activity的状态,比如我们需要通过是否将要运行这个activity对这个activity进行相关操作,比如跳转,finish,判断后台是否有activity在运行(也可以使用activityManager里面的getRunningTasks.get(0).topActivity处理或者getRunningAppProcess()来处理)

0 0
原创粉丝点击