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.
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.
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