无法使用AspectJ为Android对话框创建方面

时间:2016-04-12 22:18:26

标签: android dialog aop aspectj alertdialog

我已经能够在视图上找到OnClickListeners:

@After("execution(* android.widget.AdapterView.OnItemClickListener.onItemClick(..))")

活动上的活动:

@After("execution(* android.app.Activity.onResume(..))")

但由于某些原因,我似乎无法抓住AlertDialog,Dialog甚至Dialog.Builder中的任何内容。我想在任何时候显示对话框时添加建议。

不起作用:

@After("execution(* android...AlertDialog.show(..))")

不起作用:

@After("execution(* android.app.ProgressDialog.show(..))")

不起作用:

@After("execution(* *..DialogInterface+.*(..) || * *..Dialog+.*(..))")

我想如果我能为Views和Activities编写方面,我可以为AlertDialogs做同样的事情。我仍然认为我对AspectJ的了解有限,这使我无法在这里运气?

1 个答案:

答案 0 :(得分:0)

问题是Aspects只能应用于您编写的代码。实际上,它可以应用于您自己的Activities和OnItemClickListener实现,但是如果您不自己创建Dialog的子类,它将使用用户设备上可用的类,这将不会应用您的建议。