- Handling Bluetooth headset keys
- Переназначение кнопок громкости на устройствах Android
- Зачем это делают пользователи?
- Установка необходимого приложения
- QuickClick
- Button Mapper: Remap your keys
- How to Disable Volume Buttons on Android
- How to Disable Volume Buttons on Android
- How to Disable Capacitive Buttons on Android
- How to Enable Soft Keys on Android
- How to Remap Buttons (Capacitive and Volume) on Android
- Как можно использовать клавишу громкости на Андроид
Handling Bluetooth headset keys
I’m looking for a reliable way to handle volume button presses on Bluetooth headset. My testing device is Xiaomi Mi Headset, but this feature should work for all basic headsets.
Freshly paired headset volume buttons are changing volume, but only «internally». Volume set in Android doesn’t change, standstill. It seems like in this case volume is changed only on headphone — max value set on Android not necessary makes max value on earphone (e.g. 1/10 volume on device = 1/10 volume on headset at most). When I open my «main» app (which is already handling bt connection) and turn on SCO then I can change phone call volume with headset buttons, Android is showing controls on the screen. This second case is interesting to me a bit more, but any method will be sufficient for handling these keys.
I’ve created a new project and experimenting, what I’ve tried:
- MediaSessionCompat — VolumeProviderCompat not firing at all
- MediaSessionCompat.Callback , method onMediaButtonEvent is getting called only for on/off/call button. Besides that method isn’t called at all when I setBluetoothScoOn(true)
- ACTION_VENDOR_SPECIFIC_HEADSET_EVENT — I’m getting only one or two AT commands when headset starts (battery info), not getting any data with button presses (both SCO on and off)
- trying to read from BluetoothSocket , socket.isconnected() is true but hangs on next socket.getInputStream().read(buffer) the line waiting for data, never getting a single byte, timeout or exception.
- obviously these clicks aren’t KeyEvent s
related snippets — for 1. and 2.:
With above snippets turning on paired headset (ACL), then running my app gives this log
and nothing else never when pressing volume keys. any advise?
PS 1. I’ve found some doc for HD1-R5 headset, in which we have
PTT only worked for MobilitySound dongles, ICOM ,Kenwood radios.
PTT means volume keys or dedicated one (answering call on usual models). also found HD1-R6 doc, which in specs looks exacly the same with one and only exception: instead of above line it have
PTT only worked for Android cellphone with below POCZELLO,ESChat,WAVE,Kodiak,GroupTalk and others.
there is also YT video with working R6. what is the difference between these two devices?
PS 2. Xiaomi supports HFP/A2DP/HSP/AVRCP profiles (manual found here), these two above MobilitySound headsets supports HFP,HSP,A2DP
edit: answering PS 1. — difference is in AT commands send by headset volume keys. R5 is sending some «well-known» (e.g. TETRA doc):
and R6 is using commands noted in Android docs in some example HERE:
probably, didn’t tested it, don’t have any of these — AT commands took from PR5 and PR6, newer versions of R5 and R6. Still common Xiaomi model isn’t sending anything in «paired-only mode» (ACL) — as described on top it changes «internal» volume — and with SCO turned on it seems like these AT commands are handled by some internal (native?) Bluetooth controller, passed strictly to volume control and further aren’t passed to socket/apps
edit 2: can confirm that PR6 works and custom/third button is sending TALK AT cmd, can be handled using snippet #3. still this device does have volume buttons and like above — can’t/don’t know how intercept them. Also I’ve found more manufacturers producing almost same BT device/accessory in two variants — for Android and for others (and fun fact: iOS oftenly works with both. )
Источник
Переназначение кнопок громкости на устройствах Android
Смартфоны на базе операционной системы Android имеют очень много скрытых функций, о которых большинство пользователей даже не задумывалось. Одной из таких является переназначение кнопок громкости Андроид. Речь идет о физических качельках, которые расположены на боковой части гаджета. Скачав всего одно специальное приложение, вы сможете благодаря качелькам громкости делать много удобных вещей.
Из статьи вы узнаете
Зачем это делают пользователи?
Итак, для чего же может пригодится переназначение кнопок громкости? Применений очень и очень много. Далее мы выделим самые основные:
- Запуск любой программы;
- Активация любого ярлыка и настроек;
- Активация Wi-Fi, Bluetooth, мобильных данных, GPS, беззвучного режима;
- Включение/пауза музыки;
- Переключение трека в плеере;
- Включение/выключение фонарика;
- Принять входящий вызов либо его отклонить;
- Открыть шторку уведомлений.
Увы, но эти действия работают только в разблокированном состоянии. То есть, как только вы отключите экран и переведете смартфон в спящий режим, кнопки громкости не будут воспринимать эти назначения, а лишь выполнят свое стандартное предназначение — переключат громкость.
Установка необходимого приложения
QuickClick
Очень многофункциональная утилита для настройки кнопок громкости, но, увы, её нет в магазине Google Play, а поэтому придется cкачать apk файл с форума 4pda либо с любого другого проверенного ресурса.
Скачать QuickClick вы можете по этой ссылке: 4pda.ru .
Программа позволяет менять только кнопки громкости, но нам именно это и нужно.
На главном экране видим название приложения, индикатор включения, настройки и «Создать новое действие». Нажимаем эту кнопку:
Система предложит выбрать, какое действие будет срабатывать при определённом нажатии. Мы можем выбрать любое из представленных. Доступны как переключатели, так и запуск приложения, ярлыков и так далее.
Например, выберем фонарик. После этого нужно создать цикл нажатий, после которых фонарик включится. Всего доступно до 6 нажатий. Увы, долгое зажатие не работает. Зато при любых настройках вы всегда сможете регулировать громкость долгим нажатием на качельки громкости.
Добавление действия происходит очень просто: вы выбираете в одном ряду какую кнопку нажать первую, потом вторую и так далее.
Далее следуют простые настройки данного переключателя и на этом добавление закончено. Теперь можно без проблем пользоваться кнопками громкости для выбранного вами действия.
В настройках можно отрегулировать следующие параметры:
- В каких случаях служба слушается нажатий (всегда, когда экран выключен, когда экран включен, экран включен, но не заблокирован);
- Автозапуск при включении музыкального плеера;
- Автозапуск при запуске системы;
- Восстанавливать громкость после срабатывания переключателя;
- Обойти блокировку экрана;
- Максимально возможный интервал между кликами в миллисекундах;
- Показывать уведомление.
Button Mapper: Remap your keys
Программа, отлично подходящая для более новых версий Android. Так как QuickClick создан на базе старых версий, он работает отлично на них, а вот Button Mapper полная противоположность.
Что же пользователь получает? Да то же самое, что и с QuickClick, только в другой обертке. Здесь, увы, нельзя настроить действие на тройной клик, либо комбинацию вверх-вниз-вверх и так далее. Для каждой кнопки доступно лишь 3 действия: одно нажатие, двойное нажатие и долгое нажатие.
При первом запуске нас попросят предоставить некоторые права для приложения — соглашаемся. Далее открывается главный экран:
В нём уже все понятно. Есть кнопки и настройки к ним.
Да, программа умеет регулировать не только кнопки громкости, но и другие физические либо сенсорные кнопки. Но нас это пока что не интересует. В меню «качелька громкости» все также предельно просто:
Есть две качельки, мы их активируем и настраиваем для каждого вида нажатия свое действие. Можно даже полностью отключить действия. Доступны следующие функции:
- Без действия либо по умолчанию;
- Домой;
- Назад;
- Недавние приложения;
- Открыть последнее запущенное приложение;
- Закрыть текущее приложение;
- Потушить экран;
- Включить фонарик;
- Сделать скриншот;
- Переключить профиль звука;
- Изменить громкость;
- Переключить, включить либо выключить музыку;
- Открыть шторку уведомлений;
- Переключить Wi-Fi;
- Переключить автоповорот экрана.
Также вверху в списке действий можно открыть не только вкладку «Действия», но и другие, такие как «Приложения» и «Ярлыки».
Источник
How to Disable Volume Buttons on Android
You’ll see the steps to disable volume and capacitive buttons in this post.
You’ll also see the steps to enable soft keys and remap buttons (capacitive and volume).
Remember that you can do this task on a rooted or non-rooted Android device. Let’s begin.
How to Disable Volume Buttons on Android
Install and open the Buttons remapper (no root) app. Enable the “Accessibility” service for the app (you can follow the on-screen instructions to do this).
You can now see the primary screen. Tap the “+” icon. Choose the “Short and long press” option. Open the drop-down list under “Key” and choose “VOLUME_UP.”
Open the drop-down list under “Action” and select “Do nothing.” Tap the “OK.” Tap the “+” icon. Choose the “Short and long press” option.
Open the drop-down list under “Key” and choose “VOLUME_DOWN.” Open the drop-down list under “Action” and select “Do nothing.” Tap the “OK.”
If you want to enable both the volume buttons, delete both the actions you’ve created. Here’s how you can delete an action:
Long press the action you want to delete and then tap “Delete.”
How to Disable Capacitive Buttons on Android
Install and open the Buttons remapper (no root) app. Enable the “Accessibility” service for the app (you can follow the on-screen instructions to do this).
You can now see the primary screen. Tap the “+” icon. Choose the “Short and long press” option.
Open the drop-down list under “Key” and choose the capacitive button you want to disable. Open the drop-down list under “Action” and select “Do nothing.” Tap the “OK.”
That’s it. The selected capacitive button is disabled. Now, do the above steps (4-6) for all the capacitive buttons you want to disable.
If you want to enable capacitive buttons, then delete the actions you’ve created regarding them. Here’s how you can delete an action:
Long press the action you want to delete and then tap “Delete.”
How to Enable Soft Keys on Android
For Rooted and Non-Rooted Android Devices
Install and open the Simple Control app.
Follow the on-screen instructions to enable the “Allow display over other apps” and “Accessibility” service for the app.
Now you can see the screen. Tap the “OK” button.
Remember, this app has a lot of customization options. Use the ones you prefer.
For Rooted Android Devices
Note: Make a Nandroid backup before proceeding.
Provide “Root” and “Storage” permissions. Now you’re in the “Root Directory.”
Tap system > build.prop file > Text Editor.
Add the following code at the end in a new line: qemu.hw.mainkeys=0
Hit the “Save” icon at the top and tap the “Save & exit” option.
Notes
- To disable the soft keys, remove the code or replace the 0 with the 1 in it.
- If your device has the soft keys by default and you want to disable it, then follow the above steps and replace 0 with 1 in the code.
How to Remap Buttons (Capacitive and Volume) on Android
Enable Accessibility service for the app (you can follow the on-screen instructions).
You can now see the primary screen.
Tap the “+” icon. Choose the “Short and long press” option.
Open the drop-down list under “Key” and choose the capacitive or volume button you want to remap.
Open the drop-down list under “Action” and select your preferred action. Tap the “OK.”
That’s it. Now, do the above steps (4-6) for all the buttons you want to remap.
Remember to swap capacitive buttons or volume buttons using this app.
Let’s see how to swap the volume buttons. For this, you need to create two actions.
Create an action with “VOLUME_UP” from the “Key” drop-down list and “Volume -” from the “Action” drop-down list.
Create an action with “VOLUME_DOWN” from the “Key” drop-down list and “Volume +” from the “Action” drop-down list.
That’s it. From now on, when you press the volume up button, it’ll reduce the volume, and when you press the volume down button, it’ll increase the volume.
Here’s an important thing to remember: if you swap or remap a button, its long-press action won’t work.
If you want to have the long-press action for that button, then you need to create an action for it, and here’s how:
Tap “+” icon. Choose “Short and long press.” Choose that button from the “key” drop-down list and select the long-press action you prefer from the “Action” drop-down list. Choose the “Long press” option. Tap the “OK.”
Here’s another vital thing to note: if you’re creating a long-press action for a button that isn’t swapped or remapped, then the long-press action you create will be added with the existing one. In other words, when you long-press the button, it’ll perform two actions (the action you’ve added and the default one).
Источник
Как можно использовать клавишу громкости на Андроид
В представленной статье вы получите возможность узнать об альтернативных способах управления аппаратными клавишами громкости на смартфонах на базе Андроид. Вы сможете научиться не только совершать переключения между аудиофайлами, но также сможете запускать выбранные приложения, проматывать большие страницы, и, что самое любопытное, научитесь втайне снимать видео.
В начале приведём несколько аргументов, которые приветствуют навешивание на аппаратные кнопки несвойственные им функции. Суть в том, что этот метод является единственным, при котором вам не придётся заглядывать на дисплей, ведь нажимать на такие клавиши можно даже тогда, когда телефон находится у вас в кармане. Ниже вам представлены операции, которые можно совершить при помощи аппаратных кнопок.
Открытие необходимых приложений
Приложение QuickClick – многофункциональная утилита, позволяющая запускать другие программы нажатием клавишей громкости. При этом разные последовательности нажатий отвечают за разные приложения. К примеру, попытавшись увеличить громкость, вы сможете запустить видеокамеру, а если нажмёте трижды – включится фонарик. Что стоит отнести к преимуществам QuickClick–для её использования не обязательно иметь права Root.
Пробуждение устройства
Вторая по счёту утилита в нашем списке является незаменимой для тех, кто не может полноценно использовать кнопку питания из-за её повреждения или неудобного расположения на корпусе. Приложение Power Button to Volume Button достаточно простое в использовании и отвечает за единственную функцию – пробуждение смартфона нажатием на клавишу громкости. Power Button to Volume Button полностью бесплатная, не вмещает в себе рекламные объявления.
Проматывание больших страниц
Некоторые программы, ориентированные на чтение электронных книг, не реализовали функцию прокрутки страниц при помощи кнопок громкости. Но если вы уже опробовали такую возможность и желаете опробовать её и в других аспектах, к примеру, в браузере, для этого установите специальную «фишку» под наименованием XUpDown.
Переключение аудиофайлов
Пожалуй, это самая востребованная функция аппаратных кнопок, поскольку, слушая музыку, зачастую приходится разблокировать устройство и тогда проводить пальцем к следующему треку. Но вместо этого можно переключить трек стандартной кнопкой увеличения/уменьшения громкости. Несколько программ предлагают такую функцию, но мы рекомендуем пользоваться именно Xposed Additions. Кроме своего основного предназначения, модуль владеет широким спектром других дополнительных возможностей.
Контроль положения курсора
Пользователи, много времени проводящие за работой с документами, оценят эту опцию. Вводя определённый текст, вы сможете корректировать положение курсора, вместо того, чтобы тыкать пальцем по телефону, пытаясь попасть в нужную точку. Чтобы активировать данную возможность, вам необходим дополнительный модуль Xposed, носящий наименование XBlast Tools. В его арсенале достаточно большое количество функций. В меню выбора найдите «Твики клавиш громкости», чтобы назначить клавишам возможность управления курсором.
Секретная съёмка видео
Порой можно случайно оказаться в ситуации, когда необходимо незаметно отснять видеофайл. К примеру, вы являетесь свидетелем злодеяния, но не желаете обращать на себя внимание виновника, что же делать в этом случае? Просто скачайте и установите приложение Secret Video Recorder, ухитряющееся управлять вашей камерой при помощи клавиш управления громкостью. У вас даже не засветится дисплей, что позволит вам отснять всё происходящее без каких-либо подозрений со стороны окружающих.
Разблокировка устройства
Не желая, чтобы кто-то получил доступ к вашему устройству при разблокировке дисплея, вы, естественно, можете установить пароль или графический ключ. Но вот незадача – нужно постоянно скрывать его от посторонних, чтобы они не рассмотрели, что вы набираете. Самый действенный приём в этом деле представляет Sequence Unlock. Это приложение позволит разблокировать дисплей после определённого сочетания нажатий аппаратных клавиш изменения громкости устройства. К примеру, если три раза нажать на уменьшение громкости и ещё раз на клавишу увеличения. В таком случае злоумышленнику очень тяжело будет определить, как именно вы совершили разблокировку дисплея. Что важно, способ разблокировки по умолчанию представленная программа приводит в неактивное действие.
Может у вас есть ещё больше информации по использованию аппаратных клавиш смартфона? Тогда делитесь…
Источник