Как подготовить Android-устройство с сенсорным экраном для [экстренного] вызова, используя только аппаратные кнопки?

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

Существуют ли какие-либо программы для выполнения и/или ответа на [экстренные] вызовы путем ввода определенного набора аппаратных кнопок без использования экрана в качестве ввода или вывода? Это также может быть полезно, когда вы используете устройство на морозе, в перчатках и т. д., поэтому использование сенсорного экрана становится проблематичным.

Иметь телефон с мокрым/холодным/треснувшим экраном и не иметь возможности позвать на помощь только из-за того, что сенсорный экран не работает, может быть неприятно. С помощью аппаратных кнопок вы можете иногда набирать «sos-код», даже если у вас и вашего телефона низкий HP ...

Мое устройство — SE Xperia X10, но я ожидаю, что оно так или иначе будет работать со всеми устройствами, имеющими хотя бы 1 аппаратную кнопку.

Может быть, попробовать реализовать приложение для корневых устройств, которое будет отслеживать /dev/input/...? Легко ли позвонить 112 (напрямую, не показывая «нажмите здесь, чтобы позвонить») из API?

Ответы (3)

Я начал внедрять собственное решение для своего устройства.

Здесь ( исходный код ) программа, которая (запущенная с правами root) позволит вам запускать сценарии оболочки с помощью серии нажатий кнопок. В настоящее время, запустив этот монитор ( andrhard 66 /h/andrhard < /dev/input/event2&), я могу легко переключать фонарик, не разблокируя телефон (используя /sys/class/leds/lv5219lg:fled/brightness)

Теперь проблема в том, как звонить/ответить из сценариев оболочки ...

В этом блоге есть простой способ инициировать вызов через командную строку. service call phone 2 s16 "+18001231234". Объедините это с ответом Vi0 , и у вас может быть сценарий для набора номера телефона нажатием кнопки. Я не проверял это, чтобы увидеть, будет ли работать набор 911, но я не понимаю, почему бы и нет (если только Android специально не запрещает это).

Попробую (с нейтральным номером). Как действительно проверить экстренный вызов 112 без реальной чрезвычайной ситуации? Можно ли отменить вызов 112 сразу же, как только вы увидите, что он не отклонен Android (еще до того, как раздастся звуковой сигнал)?
Как вы думаете: обычная устанавливаемая программа "apk", настраивающая эту схему (моя программа "andrhard" + этот метод) будет полезна другим пользователям?
Я бы сказал, что это полезно. Даже если кто-то не хочет использовать его для 911, он может использовать его для чего-то другого. Если бы у вас была простая программа, которая позволяет пользователю определять нажатия кнопок, а затем определять команду для запуска, это было бы очень полезно.
В настоящее время я просто создаю сценарии со специальными именами, например, «73» (увеличение громкости) — включить светодиод; "72" (громкость вниз) - выключение светодиода; "9ee59ee5" (назад, меню, назад, меню) - сделать что-то более хитрое, например позвонить куда-нибудь. Числа — это шестнадцатеричные коды из файла /dev/input/. Файл не найден => действие не назначено. Если это будет приложение для Android, оно, конечно, будет более удобным для пользователя.

В телефонах с прошивкой cyanogenmod у вас есть функция голосового набора. При его запуске телефон завибрирует и издаст звуковой сигнал, информирующий вас о том, что он готов принять ваш голосовой ввод. Говоря с ним, например, «Позвонить Джону» или «Позвонить 911» и т. д., устройство заставит звонить.

Чтобы это работало без сенсорного экрана, вам может потребоваться настроить аппаратные клавиши. Для этого перейдите в Настройки->Система->Аппаратные ключи. Включите настраиваемые действия, и вы сможете настроить событие длительного нажатия клавиши поиска для запуска голосового набора номера.

И не удобно и не надежно в экстренных случаях. (Кстати, это будет работать с заблокированным экраном?). Также не могу начать вызов, сохраняя тишину... Я думаю, что простая старая аппаратная кнопка иногда является лучшим и самым надежным способом.
Нет, извините, это не будет работать с заблокированным экраном - не понял :(