基本上,我想为pointcut
,onKeyDown()
等方法插入onBackPressed()
。问题是,如果这些方法不是overloaded
,aspect
不会做出反应。插入pointcut
以获取Activities
(或其他父级)方法调用的正确方法是什么?
现在它看起来像是:
pointcut onKeyDown(): execution(* onKeyDown(*, *));
答案 0 :(得分:0)
您无法在Android核心类中编织,因为相关的重新编译的.class文件不会集成到您的应用程序.dex文件中,因为它们是由android直接提供的。
正如您所建议的那样,您可以通过直接调用重载方法来重载这些方法。
出于同样的原因,在调用自定义代码之前,你不能在核心类中使用切入点编织:
call(* Activity.onCreate(..))
但您可以使用编写自定义代码的切入点,如:
execution(* Activity.onCreate(..))