使用ActivityLifecycleCallbacks对活动监听和管理

有需求需要在一个方法类中取到当前的context,但是没有context的传参,这时候可以使用ActivityLifecycleCallbacks对活动监听和管理。

1.新建java class 继承自application

public class MyApplication extends Application

2.修改AndroidManifest.xml

<application
    android:name=".com.MyApplication"
    ...>
    
    ....
</application>

这里是最外层application标签

3.重写application的oncreate()方法

public void onCreate() {
  super.onCreate();
  this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
 
    @Override
    public void onActivityStopped(Activity activity) {
      
    }
 
    @Override
    public void onActivityStarted(Activity activity) {
       
    }
 
    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
       
    }
 
    @Override
    public void onActivityResumed(Activity activity) {
       
    }
 
    @Override
    public void onActivityPaused(Activity activity) {
       
    }
 
    @Override
    public void onActivityDestroyed(Activity activity) {
       
    }
 
    @Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
       
    }
  });
};

也可以自定义一些方法,根据activity不同的状态实现不同的功能。

参考链接:https://www.it610.com/article/5131564.htm

原文地址:https://www.cnblogs.com/ksxxx/p/12125393.html