Android BroadCastReceiver für Lautstärketaste nach oben und unten

Wenn ein Benutzer die Lautstärketaste nach oben oder unten drückt, ist es möglich, ihn in meinem Rundfunkempfänger zu erkennen? Ich brauche den vollständigen Code.

Hier ist mein Absicht Filter

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

Und meine onReceive Methode ist

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

Es gibt mir einen null KeyEvent … eine Idee?

  • Hören Sie die Lautstärkeänderungen auf Android
  • RegisterMediaButtonEventReceiver empfängt keine Ereignisse
  • Lautstärke des Lautsprechers (Alarm) verringert sich, wenn Kopfhörer angeschlossen sind
  • Wie kann ich die Lautstärke in openSL ES (Android) einstellen?
  • Android - überschriebene Lautstärketaste hat die Back-Taste betroffen?
  • One Solution collect form web for “Android BroadCastReceiver für Lautstärketaste nach oben und unten”

    Die Absicht hat keinen EXTRA_KEY_EVENT extra. Es hat eine zusätzliche android.media.EXTRA_VOLUME_STREAM_VALUE, die das neue Volume enthält.

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

    Wenn Sie den alten Wert speichern, können Sie feststellen, ob die Lautstärke nach oben oder nach unten gedrückt wurde.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.