Как заставить службу специальных возможностей реагировать на нажатие кнопок клавиатуры?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить службу специальных возможностей реагировать на нажатие кнопок клавиатуры?

Сообщение Anonymous »


Я пытаюсь создать специальную службу специальных возможностей Android для имитации касаний экрана при нажатии разных клавиш на клавиатуре Bluetooth.

Я новичок в разработке приложений для Android за пределами Flutter, поэтому подозреваю, что проблема кроется где-то в XML-файле манифеста или конфигурации доступности, а не в коде Kotlin.

Начав с пустого действия в Android Studio, я добавил в AndroidManifest.xml следующий сервис:

accessibility_service_config.xml выглядит следующим образом:

Вот основной код KeyRemapAccessibilityService.kt:

пакет com.example.keyboard_remap_service; импортировать android.accessibilityservice.AccessibilityService импортировать android.view.KeyEvent импортировать android.view.accessibility.AccessibilityEvent импортировать android.util.Log класс KeyRemapAccessibilityService : AccessibilityService() { переопределить удовольствие onServiceConnected() { супер.onServiceConnected() Log.i("AccessibilityService", "Сервис подключен") // При необходимости настройте здесь свой сервис } переопределить fun onAccessibilityEvent(event: AccessibilityEvent?) { // Обработка событий доступности, если необходимо Log.i("AccessibilityService", "Событие доступности") } переопределить удовольствие onInterrupt() { // Обработка прерывания службы Log.i("AccessibilityService", "Прерывание") } переопределить удовольствие onKeyEvent(событие: KeyEvent?): Boolean { Log.i("AccessibilityService", "Получено ключевое событие: ${event?.keyCode}") вернуть super.onKeyEvent(событие) } } Android Studio удается скомпилировать и запустить приложение, и я получаю экран «Приветствие» на своем телефоне и кучу журналов «Событий специальных возможностей», когда я включаю службу и нажимаю что-нибудь. Однако при нажатии на клавиатуру я не вижу журналов «Получено ключевое событие».

Я нашел приложение, которое делает то, что я хочу, его исходный код находится здесь, и мне удалось сделать то, что я хочу, клонировав его и изменив эту функцию, но я хотел бы понять, как я могу изменить свой чтобы код работал так, как я хочу, вместо того, чтобы продолжать работать с очень большой кодовой базой и менять мелкие вещи тут и там.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»