Pregunta

Tengo una aplicación que utiliza un archivo en la tarjeta SD, la aplicación se ejecuta cuando se inicia el teléfono, y se ha hecho evidente que el archivo no se puede acceder cuando el programa se ejecuta por primera, ya que comienza a trabajar antes de la tarjeta SD está disponible .

¿Hay un receptor de radiodifusión que puedo utilizar para decir cuando la tarjeta SD está listo?

Actualizar

Sólo para resumir la respuesta a 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
    }
 }; 
¿Fue útil?

Solución

Búsqueda de acción ACTION_MEDIA_MOUNTED emisión en el Intención

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"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top