3

我想创建对OnCreate()方法做出反应的项目。所以,例如,我有活动

public class MainActivity extends Activity
{
 @Override
    public void onCreate(Bundle savedInstanceState)
    {
    //do something
    }
}

我希望我的 AspectJ 类在 OnCreate 方法调用之前和之后做一些事情。

public aspect onCreate
{

    pointcut captureOnCreate() : (execution(* onCreate(Bundle)));

    before(): captureOnCreate()
    {

        System.out.println("Aspect BEFORE called");
    }

    after(): captureOnCreate()
    {


        System.out.println("Aspect AFTER called");


    }
}

我尝试将项目转换为 AspectJ 并将其作为 Android 应用程序项目运行,但它不起作用。怎么了?

解决了

自己解决了。在 Eclipse AspectJ tools -> Inpath -> Add External JARs 中并将其链接到 aspectjrt.jar 文件。

executoin 看起来像这样:
execution(* onCreate(*))&& !within(com.xxx.automation.onCreate);

4

0 回答 0