No se recibió la difusión de MEDIA_MOUNTED

Estoy desconcertado. Estoy tratando de configurar mi aplicación para responder a la tarjeta SD se vuelven disponibles / sin conexión, pero mi receptor de difusión nunca se llama!

Puedo ver el evento que se transmite, y otras aplicaciones que responden:

08-21 23:43:04.405: DEBUG/Ringer(275): -- intent.getAction() =android.intent.action.MEDIA_MOUNTED 

Y mi manifiesto ha declarado el receptor:

  <receiver android:name=".Test" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.MEDIA_MOUNTED" /> </intent-filter> </receiver> 

Y mi receptor tiene un método onReceive:

 public class Test extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d("#########", "##############################################################"); Log.d("#########", "Obligitory snarky and/or funny logging comment..."); Log.d("#########", "##############################################################"); } } 

Sin embargo, la cosa no causará que Test.onReceive () se dispare. ¿Alguna idea?

No puedes estar hablando en serio. Al parecer, necesitaba agregar un filtro adicional para el tipo de datos.

Dejando la respuesta para "el tipo siguiente" …

 <receiver android:name=".Test" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.MEDIA_MOUNTED" /> <data android:scheme="file"/> </intent-filter> </receiver> 

Intenta agregar la etiqueta <data android:scheme="file" /> en el <intentfilter> , si no lo hace el registro en tiempo de ejecución.
En tiempo de ejecución, cree un objeto de su receptor de difusión y pase a registerReceiver(obj) .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.