Кнопка захвата мультимедиа на Android> = 4.0 (работает на 2.3)
Я написал какой-то сервис, который использует BroadcastReceiver для захвата одной из мультимедийных кнопок («кнопка воспроизведения» с гарнитуры), и он отлично работает на Android 2.3.x (HTC Nexus One или HTC Desire)
Когда я пытался запустить на Android 4.0.3 (Samsung Nexus S), он не работал (мое приложение не получает намерений "android.intent.action.MEDIA_BUTTON" и кнопка "играть" работает как обычно: останавливается / начинает музыку).
Содержание манифеста:
<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>
Есть ли способ заставить его работать на Android 4.0.3
изменить: я пробовал предлагаемое решение, я добавил действие и запустил его, но мой получатель по-прежнему не получает намерения. Что еще более странно, регистрация получателя по коду также не работает:<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>
Теперь я в полном замешательстве.