Intereting Posts
Отношения Android Bluetooth и WakeLock Android: setText () для TextView в PopupWindow не работает Android Studio зависает на «Инициализация ADB …» Изменение цвета разделителя в LinearLayout Android SDK эквивалентен для просмотраWillAppear (iOS)? Android Без анимации при переходе от портретной деятельности к пейзажной деятельности Android :: Установить максимальную длину EditText программно с помощью другого InputFilter QuickBlox WebRtc VideoChat Android Платформа Cordova добавляет ошибку android Как бороться с "$ {applicationid}" в Xamarin? Создайте собственный lockscreen для Android 4.0 или более поздней версии? Android-приложение не может получить доступ к местоположению на эмуляторе, используя FusedLocationApi Можно ли отправлять Push Notification со стороны сервера Java автоматически 3-го месяца между датой начала и датой окончания для каждого другого пользователя? Изменение макета Xml при изменении ориентации Как мы можем удалить файл из папки с ресурсами во время выполнения в android?

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"); 

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