Intereting Posts
Как использовать один класс SyncAdapter для нескольких полномочий? Широковещательное зарядное устройство отключено в Android O Как я могу обрезать или обрезать изображение контента? Пользовательские разрешения Android – Marshmallow Сменные сетевые и GPS-провайдеры в соответствии с gps-статусом android Журналы отладки Android действительно удалены во время выполнения? Как применить фильтрацию видео в Android? Как захватить событие, когда пользователь отклоняет диалоговое окно предупреждения, нажав кнопку backKey на Android AutocompleteTextView с асинхронными предложениями не показывает выпадающее меню Как приложение Android может определить, какой магазин установил его? Android App: как читать размер шрифта в настройках? Android Spinner – Как выбрать список по умолчанию для ни одного Проверьте подключение к Интернету – Android Что такое прозрачная цель SparseBooleanArray? Как запустить эти приложения для Android SDK?

Android BroadCastReceiver для увеличения громкости вверх и вниз

Если пользователь нажимает клавишу громкости вверх или вниз, можно ли ее обнаружить в моем широковещательном приемнике? Мне нужен полный код.

Вот мой фильтр Intent

IntentFilter filter = new IntentFilter(); filter.addAction("android.media.VOLUME_CHANGED_ACTION"); 

И мой метод onReceive

 public void onReceive(Context arg0, Intent intent) { KeyEvent ke = (KeyEvent)intent.getExtras().get(Intent.EXTRA_KEY_EVENT); if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { System.out.println("I got volume up event"); }else if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) { System.out.println("I got volume key down event"); } } 

Это дает мне null KeyEvent … любую идею?

Solutions Collecting From Web of "Android BroadCastReceiver для увеличения громкости вверх и вниз"

У этого намерения нет дополнительного EXTRA_KEY_EVENT. У него есть дополнительный файл android.media.EXTRA_VOLUME_STREAM_VALUE, который содержит новый том.

 int volume = (Integer)intent.getExtras().get("android.media.EXTRA_VOLUME_STREAM_VALUE"); 

Если вы сохраните старое значение, вы можете сделать вывод, был ли нажат громкость вверх или вниз.