Capture Media Button unter Android> = 4.0 (funktioniert unter 2.3)

Ich habe einen Dienst geschrieben, der BroadcastReceiver verwendet, um eine der Medientasten ("Wiedergabetaste" von einem Headset) zu erfassen, und er funktioniert perfekt auf Android 2.3.x (HTC Nexus One oder HTC Desire)

Als ich versuchte, auf Android 4.0.3 (Samsung Nexus S) zu starten, funktionierte es nicht (meine Anwendung erhält nicht die Absicht "android.intent.action.MEDIA_BUTTON" und "play" -Taste verhält sich wie gewohnt: stoppt / startet Musik).

Inhalt des Manifests:

<code>...
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <receiver android:name=".buttonreceiver.MediaButtonIntentReceiver" >
        <intent-filter android:priority="10000" >
            <action android:name="android.intent.action.MEDIA_BUTTON" />
        </intent-filter>
    </receiver>
...
</code>

Gibt es eine Möglichkeit, es auf Android 4.0.3 arbeiten zu lassen

Bearbeiten: Ich habe die vorgeschlagene Lösung ausprobiert, eine Aktion hinzugefügt und ausgeführt, aber mein Empfänger empfängt immer noch keine Absicht. Was seltsamer ist, Empfänger per Code zu registrieren, funktioniert auch nicht:

<code>@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.about_and_activation_view);

    Log.d("MR", "onCreate - " + getIntent().getAction());

    mReceiver = new MediaButtonIntentReceiver();
    registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_MEDIA_BUTTON));
}
</code>

Jetzt bin ich total verwirrt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage