La diffusion MEDIA_MOUNTED n'est pas reçue

Je suis déconcerté. J'essaie de configurer mon application pour répondre à la carte SD qui devient disponible / hors ligne, mais mon récepteur n'est jamais appelé!

Je peux voir l'événement diffusé et d'autres applications répondant:

  • Android ListView CHOICE_MODE_MULTIPLE, comment configurer l'index contrôlé?
  • Android NumberPicker, DatePicker, les flèches TimePicker sont manquantes
  • RecycleView définit une mauvaise hauteur pour les articles
  • Scrollable EditText à l'intérieur ScrollView
  • Animation par points
  • Appeler setContentView () plusieurs fois
  • 08-21 23:43:04.405: DEBUG/Ringer(275): -- intent.getAction() =android.intent.action.MEDIA_MOUNTED 

    Et mon manifeste a déclaré le destinataire:

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

    Et mon récepteur a une méthode 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("#########", "##############################################################"); } } 

    Pourtant, la chose ''% '' ne provoquera pas le test Test.onReceive () pour déclencher. Des pensées?

    2 Solutions collect form web for “La diffusion MEDIA_MOUNTED n'est pas reçue”

    Vous ne pouvez pas être sérieux. Apparemment, je devais ajouter un filtre supplémentaire pour le type de données.

    Laisser la réponse pour "le prochain gars" …

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

    Vous essayez d'ajouter la <data android:scheme="file" /> dans <intentfilter> , sinon l'enregistrement au moment de l'exécution.
    Au moment de l'exécution, créez un objet de votre récepteur de diffusion et passez-le à registerReceiver(obj) .

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.