Przycisk przechwytywania multimediów na Androida> = 4.0 (działa na 2.3)

Napisałem usługę, która wykorzystuje BroadcastReceiver do przechwytywania jednego z przycisków multimediów („przycisk odtwarzania” z zestawu słuchawkowego) i działa doskonale na Androidzie 2.3.x (HTC Nexus One lub HTC Desire)

Gdy próbowałem uruchomić system Android 4.0.3 (Samsung Nexus S), nie działa (moja aplikacja nie ma zamiaru „android.intent.action.MEDIA_BUTTON” i przycisk „play” zachowuje się jak zwykle: zatrzymuje / uruchamia muzyka).

Treść manifestu:

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

Czy istnieje sposób, aby to działało na Androidzie 4.0.3

edit: Spróbowałem zaproponowanego rozwiązania, dodałem akcję i uruchomiłem ją, ale mój odbiornik nadal nie otrzymuje intencji. Co bardziej dziwne rejestrowanie odbiornika przez kod również nie działa:

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

Teraz jestem całkowicie zmieszany.

questionAnswers(2)

yourAnswerToTheQuestion