[JAVA] [Android] So erkennen Sie Lautstärkeänderungen (= Drücken der Lautstärketaste)

Es ist eine Legacy-Methode, die es schon lange gibt, aber ich werde sie schreiben, weil die Informationen, die von Google ausgegeben werden, etwas unpraktisch sind.

Methode

Es gibt AudioManager.VOLUME_CHANGED_ACTION (android.media.VOLUME_CHANGED_ACTION) als Absicht, die erkennt, wann die Lautstärke geändert oder die Lautstärketaste gedrückt wird. Alles was Sie tun müssen, ist dies mit dem Rundfunkempfänger zu empfangen.

Bis zu diesem Punkt müssen die Informationen, die unmittelbar nach Google, aber AudioManager.VOLUME_CHANGED_ACTION veröffentlicht werden, die folgenden Punkte kennen.

Quellcode

AndroidManifest.xml


<receiver android:name=".VolumeChangedActionReceiver">
    <intent-filter>
        <actionandroid:name="android.media.VOLUME_CHANGED_ACTION" />
    </intent-filter>
</receiver>

VolumeChangedActionReceiver.java


public static class VolumeChangedActionReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")) {
            int newVolume = intent.getIntExtra("android.media.EXTRA_VOLUME_STREAM_VALUE", 0);
            int oldVolume = intent.getIntExtra("android.media.EXTRA_PREV_VOLUME_STREAM_VALUE", 0);
            int streamType = intent.getIntExtra("android.media.EXTRA_VOLUME_STREAM_TYPE", 0);

            if (streamType == AudioManager.STREAM_MUSIC) {
                // TODO: write your code
            }
        }
    }
}

Recommended Posts

[Android] So erkennen Sie Lautstärkeänderungen (= Drücken der Lautstärketaste)
So erkennen Sie Mikrofonkonflikte unter Android
Android Drücken Sie einfach eine Taste
[Android Studio] So ändern Sie TextView in eine beliebige Schriftart [Java]
Wie man eine Ansicht auf Android "aushöhlt"
So ändern Sie den kube-proxy in den ipvs-Modus.
[Android] So erstellen Sie ein Dialogfragment
So wechseln Sie von HTML zu Haml
So ändern Sie den App-Namen in Rails
Verwendung des benannten Volumes in docker-compose.yml
[Android] Wie man mit dunklen Themen umgeht
Verwendung von ExpandableListView in Android Studio
[Android] So konvertieren Sie eine Zeichenfolge in resourceId
So ändern Sie den Standardtexteditor von Finder in Atom
Wie erstelle ich Unity Native Plugin (Android-Version)
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
Wie schreibe ich React Native Bridge ~ Android-Version ~
Wie man einen imposanten Android-Musikplayer macht
So ändern Sie die Aktion mit mehreren Senden-Schaltflächen
[Android / Java] Richten Sie eine Schaltfläche ein, um zu Fragment zurückzukehren
[Ruby on Rails] So ändern Sie den Spaltennamen
[Android Studio] [Java] So fixieren Sie den Bildschirm vertikal
[Rails] So ändern Sie den Spaltennamen der Tabelle
Verwendung von Truth (Assertion Library für Java / Android)
So wechseln Sie von Oracle Java 8 zu Adopt Open JDK 9
[Android] So erhalten Sie die Einstellungssprache des Terminals
So verhindern Sie, dass editTextPreference von android PreferenceFragmentCompat beschädigt wird
[Anfänger] Verwendung des Geräts Ändern Sie die Einstellungen ab Einführung
So aktivieren Sie die Senden-Schaltfläche jedes Mal mit jquery
[Linux] Einfacher Kommentar! So überprüfen und ändern Sie Berechtigungen
So richten Sie Android OR Mapper "Orma" (Kotlin) ein
So führen Sie einen bestimmten Vorgang aus, wenn die Zurück-Taste im Android-Fragment gedrückt wird