Android应用程序中AsyncTask的AspectJ切入点

时间:2016-03-18 12:05:20

标签: android android-asynctask aspectj

我正在尝试在Android应用程序中进行Http调用的详细信息。我在应用程序中嵌入了我的SDK。

该应用程序使用AsyncTask和HttpURLConnection进行http调用。

因此我认为如果我能拦截AsyncTask的每次执行都会很棒

我尝试了以下PointCuts

execution(* *.doInBackground(..))
execution(* *.executeOnExecutor(..))

但建议没有被执行。 我不希望使用在我的切入点中扩展AsyncTask的类名,因为这会将我的SDK限制为特定的应用程序。我希望像@onCreate这样的通用点切割适用于所有Android应用程序。 什么应该是正确的PointCut拦截asyncTasks?

1 个答案:

答案 0 :(得分:1)

您可以使用

execution(* AsyncTask+.doInBackground(..))
execution(* AsyncTask+.executeOnExecutor(..))

其中AsyncTask+表示类及其所有子类。但要小心,切入点只适用于你方面编织者控制的类,而不是其他方面的类。