有需求需要在一个方法类中取到当前的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不同的状态实现不同的功能。