#android #java
Здравствуйте! Есть чужое приложение, которое в некоторый момент выводит AlertDialog. Вопрос: как можно отловить появление этого диалога в своём приложении? Допускается использование всех прелестей root+busybox. Заранее спасибо!
Ответы
Ответ 1
Я бы покопался в исходниках WindowManagerService. В грубом приближении: Пишем сервис, который мониторит стек активити через ActivityManager.getRunningTasks() и при появлении нужного приложения делает "стойку". Далее каким-то образом надо получить инстанс WindowServiceManager (без понятия, как) и ждем появления в стеке окошек AlertDialog. До списка окошек можно достучаться через рефлексию, например, вызовом WindowServiceManager.dumpWindows(). Такие вот наводки - по крайней мере я бы копал в этом направлении. Update Это вы называете хардкором? Да это так, детские шалости. Менее хардкорно можно попробовать половить логи, правда, начиная с JB (4.1) логи видны без пермишена только руту - так что может оказаться это более хардкорным.
Комментариев нет:
Отправить комментарий