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:
...
<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>
...
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:@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));
}
Teraz jestem całkowicie zmieszany.