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:

  • Sélecteur de liste d'éléments GridView pour plusieurs éléments ne fonctionnant pas dans Android
  • Gradle: Erreur: plus d'une bibliothèque avec le nom du package 'com.google.android.gms'
  • Installation et utilisation de NDK Android dans Eclipse
  • Comment faire un android mm clean?
  • Android Fragment (avec Compatibility Package sur 2.3.3) crée "L'enfant spécifié a déjà une erreur parentale"
  • Android HTTPUrlConnection: comment définir les données de publication dans le corps http?
  • 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.