Слушайте EditText OnFocusChangeListener Глобально

Я заинтересован в создании системного приложения для Android, которое может глобально слушать всех EditText на событии изменения фокуса, каким-то образом я буду предоставлять определенную услугу, когда пользователь получает фокус на любом EditText,

Я успешно загрузил AOSP(Android Open Source Project) и хочу начать писать свое приложение как системное приложение.

У меня вопрос, могу ли я сделать это как системное приложение, "слушающее глобальные события"?

если это возможно, в каких областях мне нужно выкопать, чтобы узнать больше о получении такой привилегии.

Любое предложение или помощь будет принята с благодарностью.

1 ответ

Решение

Я предлагаю вам начать с рассмотрения View.java класс, который в основном имеет основной строительный блок для компонента пользовательского интерфейса.

../frameworks/base/core/java/android/view/View.java

и поиск метода onFocusChanged если вас интересует только EditText добавьте следующую строку

 if (this instanceof EditText) {
      Toast.makeText(getContext(), "focus gained!", Toast.LENGTH_SHORT).show(); 
 }

построить снова, и вы будете видеть тост уведомления каждый раз, когда вы получаете фокус на любой EditText вокруг ОС

Другие вопросы по тегам