Pergunta

Eu tenho um aplicativo que usa um arquivo no cartão SD, o aplicativo é executado quando as botas do telefone e se tornou aparente que o arquivo não pode ser acessado quando o programa é executado pela primeira vez quando começa a funcionar antes que o cartão SD esteja disponível.

Existe um receptor de transmissão que eu possa usar para saber quando o cartão SD está pronto?

Atualizar

Apenas para resumir a resposta para registrar a intenção:

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

e crie um receptor de transmissão para reagir a ele:

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

Solução

Olho para cima ACTION_MEDIA_MOUNTED ação de transmissão no Intenção

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top