2012-01-09 10 views
10

Sto cercando di rilevare il Attiva archivio USB utilizzando BroadcastReceiver se io sono in grado di rilevare l'USB collegata utilizzando android.intent.action.UMS_CONNECTED azione
e
scollegato utilizzando android.intent.action. UMS_DISCONNECTED azione.


Come posso rilevare la memoria USB ?Android: come rilevare la trasmissione "Attiva memoria USB"?

risposta

3

Di seguito viene indicato come verificare se la scheda di memoria è montata/smontata. Puoi cambiarlo per controllare rimosso/insterted. Faccio questo registrando un BroadcastReceiver per ottenere gli "eventi di montaggio", quindi controlla in che stato è inserita la scheda di memoria. Se non è montato e non sta controllando (lo stato durante il montaggio della scheda di nuovo) è smontato o la carta è stata rimossa.

public class MemCardReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ 
      onMemcardMounted(); 
     } 
     else if (!Environment.getExternalStorageState().equals(Environment.MEDIA_CHECKING)){ 
      onMemorycardUnMounted(); 
     } 
    } 

    private void onMemorycardUnMounted() {} 

    private void onMemcardMounted() {} 
} 

E in ManifestFile

<receiver android:enabled="true" android:exported="true" android:name="the.name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MEDIA_MOUNTED" /> 
      <action android:name="android.intent.action.MEDIA_UNMOUNTED" /> 
      <data android:scheme="file" /> 
     </intent-filter> 
    </receiver> 

ci sono diversi stati diversi checkout this se ci sono altri dichiarato come. rimosso

0

Penso che android.Intent.action.ACTION_MEDIA_EJECT venga trasmesso quando l'utente prende l'archivio USB in uso e ACTION_MEDIA_MOUNTED quando è spento.

Problemi correlati