Escribí algún servicio que usa BroadcastReceiver para capturar uno de los botones de medios ("play button" de un auricular), y funciona perfectamente en android 2.3.x (HTC Nexus One o HTC Desire)Botón de captura de medios en Android> = 4.0 (funciona en 2.3)
Cuando traté de ejecutar en Android 4.0.3 (Samsung Nexus S), no funciona (mi aplicación no recibe la intención "android.intent.action.MEDIA_BUTTON" y " play "se comporta como de costumbre: detiene/inicia la música).
contenido del manifiesto:
... <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> ...
¿Hay manera de hacer que funcione en Android 4.0.3
editar: He tratar solución propuesta, he añadido la acción y la ejecución pero mi receptor todavía no recibe la intención. Lo que es más extraño registrar receptor por código tampoco funciona:
@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));
}
Ahora estoy totalmente confundido.
Nótese también que Intención prioridad debe ser mayor de -1,000 y menos de 1000. – William