2014-01-10 5 views
1

Есть ли какая-либо команда Adb для установки тома на определенное значение? Я знаю, что мы можем сделатьКоманда ADB для установки громкости?

adb shell input keyevent 

для увеличения и уменьшения громкости, но я хочу установить его в определенное значение. Если я изменил его на БД, тогда мне нужно перезагрузить устройство, чтобы изменения отражались, поэтому я не хочу идти по этому пути. Нет ли какого-либо API, где я могу изменить значение без необходимости его перезапуска и завися от увеличения и уменьшения громкости?

ответ

3

На корневом телефоне вы можете позвонить setMasterVolume() с помощью service call audio <code> i32 <volume>. Коды имеют конкретную версию. Предположим, вы хотите установить громкость на 50% на устройстве KitKat. Команда будет:

service call audio 9 i32 50 
+0

Как насчет на желе, будет ли код одинаковым? Я попытался установить громкость на желеобразном устройстве, используя этот метод, и он, похоже, не работает? – TylerD87

+0

читайте http://ktnr74.blogspot.com/2014/09/calling-android-services-from-adb-shell.html, чтобы узнать правильный код для вашей версии Android –

2

Я использовал звуковой тест для вызова службы, чтобы установить громкость на устройстве android 2.3. Чтобы быть более общим, вам нужно исследовать IBinder и номер транзакции.

Чтобы узнать, что вы хотите:

ADB сервис оболочки список пакетов

  • это расскажет вам файл пакета вы должны смотреть на для службы (т.е. Bluetooth - com.Bluetooth.IBluetooth)

Поиск по классу обслуживания и 'сделка' онлайн ("com.Bluetooth.Ibluetooth сделка")

Найти т он исходных файлов и найти информацию о транзакции Ibinder. За этим последуют детали входных параметров.

I. Первая транзакция по Bluetooth включена. (Включена). Есть не введены параметры

Чтобы использовать его отправить:

Adb вызова службы оболочки Bluetooth 1

Он должен вернуть посылку, содержащую ответ.

Помните: - Я думаю, что это только для корневых устройств - номер транзакции вы найдете имеет смещение 1 (сделок 0 называется с сервисом вызовом «сервис» 1) - Есть два типа ввода: I32 для целого числа или S16 для строки

для того, чтобы установить аудио есть три входных целые числа для заданного объема (операции 6)

для того, чтобы использовать его отправить:

Adb службы оболочки вызова 7 I32 3 I32 15 I32 0 Это установит меня dia volume to 15 (значение по умолчанию для уровня звука аудио составляет 15)

Смежные вопросы