0

基本上,我想插入一个pointcutfor onKeyDown()onBackPressed()等方法。问题是,如果这些方法不是overloadedaspect则不会做出反应。pointcut插入获取Activities(或其他父母)方法调用的正确方法是什么?

现在它看起来像这样:

pointcut onKeyDown(): execution(* onKeyDown(*, *));
4

1 回答 1

0

您不能编织 Android 核心类,因为相关的重新编译的 .class 文件不会集成到您的应用程序 .dex 文件中,因为它们是由 android 直接提供的。

正如您所建议的,您可以通过直接调用重载方法来重载这些方法。

出于同样的原因,在调用自定义代码之前,您不能在核心类中使用切入点编织,例如:

call(* Activity.onCreate(..))

但是您可以使用切入点编织自定义代码,如下所示:

execution(* Activity.onCreate(..))
于 2013-09-15T14:39:14.943 回答