使用AspectJ注入的方法的切入点

时间:2014-12-21 13:25:13

标签: java aspectj aspect

如何为注入ApsectJ的方法定义切入点?

我已经按如下方式注入了该方法并且工作正常:

public void com.moeActivity.onBackPressed() {
    super.onBackPressed();
    Log.d("ATAG", "BACKK");
}

现在我试图定义一个切入点来检测注入方法的执行但是没有成功,我尝试了以下内容:

pointcut eventActivity(): 
  execution(* com.moeActivity.onBackPressed(..));

任何帮助将不胜感激

谢谢!

1 个答案:

答案 0 :(得分:0)

你需要一个建议体来运行它内部的被执行方法(例如Log.d("ATAG", "BACKK")):

public aspect LoggingAspect{
 after() : eventActivity() {
   Log.d("ATAG", "BACKK");
 } 
}

执行此操作后,after建议连接名为eventActivity的命名切入点,并在Log.d("ATAG", "BACKK")之后运行横切操作(即super.onBackPressed())。正如@kriegaex所说,你需要阅读一些AspectJ示例才能有效地理解它。