2010-08-05 13 views
18

Tengo una aplicación que usa un archivo en la tarjeta SD, la aplicación se ejecuta cuando el teléfono arranca, y se ha vuelto aparente que no se puede acceder al archivo cuando se ejecuta por primera vez cuando comienza a funcionar antes de que la tarjeta SD esté disponible.intención de Android para sdcard ready

¿Hay un receptor de transmisión que pueda usar para indicar cuándo está lista la tarjeta SD?

actualización

Sólo para resumir la respuesta para registrar la intención de hacer:

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

y crear un receptor de radiodifusión a reaccionar a ella:

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

Respuesta

18

búsqueda ACTION_MEDIA_MOUNTED acción de difusión en el 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" 
Cuestiones relacionadas