java - 自动调用startActivity前的方法
问题描述
我希望method();
在每次调用startActivity(intent);
整个项目之前自动调用 a ,因为我无法修改其他依赖项。
编辑:
我使用 AspectJ 发现了一个叫做 AOP 的东西
https://medium.com/@jdvp/aspect-orienting-programming-in-android-159054d52757
但我只能拦截我自己的应用程序方法,而不是固件 startActivity()
解决方案
假设您没有使用任何标志来method()
调用它onCreate()
startActivity
解释:
每当一个活动开始时,按顺序排列的活动生命周期是
onCreate()
-> onStart()
->onResume()
编辑:
使用帮助类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)
从项目中的任何位置调用。如果您的方法需要上下文,请将活动上下文传递给它。
推荐阅读
- docker - 错误:启动 my_project docker setup 时,池与此地址空间上的其他池重叠
- python - 在不重复的情况下获取div内的节点
- python - Python + Flask REST API, how to convert data keys between camelcase and snakecase?
- excel - 在 VBA 中选择动态范围 - 如何为更改工作表中位置的范围调整代码?
- mysql - 获取 sql 异常并想知道如何正确编写此查询?
- python - Python groupby, cumsum and max to calculate month-end balances
- tensorflow - The code is slower after every iteration and doesnt give expected output
- java - how to get thymeleaf variable from public source file
- java - Java wait() and notify() not working properly
- javascript - [Vue警告]:未定义属性或方法