0

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

我已经注入了如下方法,它可以正常工作:

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

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

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

任何帮助,将不胜感激

谢谢!

4

1 回答 1

0

您需要一个建议体来在其中运行注入的方法(例如Log.d("ATAG", "BACKK")可能),如下所示:

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

这样做,after 通知与名为 eventActivity 的命名切入点连接,并在 after 运行横切操作(即Log.d("ATAG", "BACKK")super.onBackPressed()。正如@kriegaex 所说,您需要阅读一些 AspectJ 示例才能有效地理解它。

于 2014-12-22T12:12:15.703 回答