Удаленное управление устройством Android - имитировать физические нажатия клавиш для любого установленного приложения? - PullRequest
1 голос
/ 20 января 2011

Цель:

Удаленное управление устройством Android. Я пытаюсь создать альтернативное устройство ввода для людей с ограниченными физическими возможностями, которые не могут использовать сенсорный экран или миниатюрную выдвижную клавиатуру на телефоне или планшете Android. Мне нужно иметь возможность контролировать все устройство Android - отправлять нажатия клавиш, такие как KEYCODE_DPAD_DOWN и т. Д. Будет использоваться джойстик или другое устройство ввода, и в идеале команда должна отправляться на устройство через Bluetooth.

Вот где я сейчас нахожусь:

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

Мое исследование до сих пор:

Можно отправить KeyEvents, но это только позволяет взаимодействовать с вашим собственным приложением - например, вводить текст в поле EditText. ( ссылка )

Также возможно (насколько я понимаю) перехватить событие физического ключа на устройстве и выполнить какое-либо действие в ответ на это событие.

Наконец, похоже, что Google точно знает, что я пытаюсь сделать, но запретил это по соображениям безопасности. ( ссылка - внизу страницы кто-то ссылается на этот блог, где указано, что это запрещено.)

Я понимаю, что могут быть проблемы с безопасностью при реализации чего-то подобного, но вся цель этого проекта - предоставить пользователю полный (удаленный) контроль над системой Android. Очевидно, что было бы необходимо явно потребовать от пользователя авторизации этого элемента управления. Этот вид контроля уже доступен, они называют его Device Administration . Это позволяет приложению контролировать очень интимные части системы и правильно требует для этого явной авторизации. Эта система дистанционного управления не будет отличаться.

В моем случае это помогло бы моей сестре, которая является инвалидом. Вы можете использовать его для создания системы управления полетом или другого геймпад-подобного контроллера. Есть много причин для реализации такого рода интерфейса.

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

Кто-нибудь знает, как это сделать? Если это еще не может быть сделано, знаете ли вы, как сделать официальный запрос на добавление новой функции в систему Android, которая может позволить это в более позднем выпуске?

Спасибо!

1 Ответ

2 голосов
/ 19 июля 2011

Привет, Гленн! Я ценю твои мысли.

Администрирование устройства также может осуществляться удаленно, поскольку вы сказали, что оно имеет доступ к системному уровню, к сожалению, оно обеспечивает доступ только к нескольким функциям системного уровня, таким как очистка устройства, блокировка и другие настройки пароля из приложений. Но удаленное управление, нет, я не думаю, что администрирование устройства помогает.

Я бы подумал использовать USB-аксессуар, который управляет устройством. Посмотрите на это

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en553673

Ссылка ниже (поддержка программного обеспечения) очень полезна для начала работы

http://ww1.microchip.com/downloads/en/DeviceDoc/Android%20Library%20Help.pdf

у них также есть набор для разработки аксессуаров ... надеюсь, он вам поможет.

...