Чтобы дать вам некоторый контекст:
Я успешно использую aspectJ с проектами Android, и я написал аннотацию @Background
, которую я применяю к методам, которые не могут блокировать основной поток пользовательского интерфейса.
Эта аннотация перехватывается pointcut и кратким советом, который заботится о запуске кода в фоновом потоке и работе с ошибками в сети и уведомлением пользователя.
Что я хотел бы сделать дальше, это автоматически предоставить кнопку перезагрузки в меню для всех действий, которые имеют такие фоновые методы
Это должно быть сделано путем переопределения метода со следующей подписью:
public boolean onCreateOptionsMenu (Меню меню);
Действия, которые не выполняют фоновые операции, не должны иметь меню, и, следовательно, не отменять этот метод.
Итак, есть ли способ, чтобы aspectJ переопределял метод только в тех классах, которые имеют (по крайней мере) метод с определенной аннотацией?
Или есть более элегантное решение?
Спасибо,
Карлос.