2010-08-05 6 views
18

J'ai une application qui utilise un fichier sur la carte SD, l'application s'exécute lorsque le téléphone démarre, et il est devenu évident que le fichier ne peut pas être consulté lorsque le programme est exécuté pour la première fois avant que la carte SD soit disponible.android intention pour sdcard prêt

Y at-il un récepteur de diffusion que je peux utiliser pour savoir quand la carte SD est prête?

Mise à jour

Pour résumer la réponse à enregistrer l'intention faire:

IntentFilter filter = new IntentFilter (Intent.ACTION_MEDIA_MOUNTED); 
filter.addDataScheme("file"); 
registerReceiver(this.mSDInfoReceiver, new IntentFilter(filter)); 

et créer un récepteur de radiodiffusion à réagir:

private BroadcastReceiver mSDInfoReceiver = new BroadcastReceiver(){ 
    @Override 
    public void onReceive(Context arg0, Intent intent) { 
    // Code to react to SD mounted goes here 
    } 
}; 

Répondre

18

Recherche ACTION_MEDIA_MOUNTED une action de diffusion sur le Intent

public static final String ACTION_MEDIA_MOUNTED 

Since: API Level 1 
Broadcast Action: External media is present and mounted at its mount point. The path to the mount point for the removed media is contained in the Intent.mData field. The Intent contains an extra with name "read-only" and Boolean value to indicate if the media was mounted read only. 
Constant Value: "android.intent.action.MEDIA_MOUNTED"