我想要一个 method();
在每次调用 startActivity(intent);
因为我不能修改其他的依赖关系。
EDIT.我找到了一个叫AOP的东西,使用AspectJ。
我找到了一个叫AOP的东西,用AspectJ做的。
https:/medium.com@jdvpaspect-oriented-programming-in-android-159054d52757。
但我只能拦截我自己的应用方法,不能拦截固件的startActivity()。
调用这个 method()
在 onCreate()
假设你没有使用任何旗帜,以 startActivity
解释。
每当一个活动开始时,活动的生命周期按顺序是
onCreate()
-> onStart()
-> onResume()
EDIT:
使用一个辅助类 AppUtils.java
public class AppUtils {
public static void startActivity(Activity activity, Intent intent) {
method(); // your method, you can put it inside AppUtils
activity.startActivity(intent);
}
}
那就干脆叫 AppUtils.startActivity(intent)
的方法。如果你的方法需要一个上下文,将活动上下文传递给它。
你可以在onCreate()方法中这样做,该方法在onStart()之前执行。或者,你可以在onCreate()方法中这样做。
使用静态方法并在startActiviy()之前运行。