Y at-il un moyen de détecter quand un lecteur flash USB est branché sur un appareil Android? Je suis capable de détecter une carte SD en utilisant un récepteur de diffusion, mais cela ne fonctionne pas pour l'USB. J'aimerais éviter les sondages.Android: Détecter le lecteur flash USB branché
Codepour enregistrer récepteur:
private void RegisterUpdateReceiver()
{
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.action.MEDIA_MOUNTED");
intentFilter.addDataScheme("file");
myReceiver = new MyReceiver();
this.registerReceiver(myReceiver, intentFilter);
}
code récepteur:
public class MyReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (action.equals("android.intent.action.MEDIA_MOUNTED"))
{
// react to event
}
}
Logcat affiche certains événements liés au montage USB, mais je ne peux pas le détecter au niveau du SDK. On dirait que ce que vous dites est juste. W/MountService (931): getVolumeState (/ mnt/usbdisk): volume inconnu E/VoldConnector (931): Erreur lors de la gestion de l'état 605 Volume usbdisk/mnt/usbdisk changé de 3 (vérification) à 4 (monté) ' – Ravi
chance ici, j'utilise aussi ACTION_MEDIA_REMOVED et d'autres montages USB liés à un récepteur et démonter ... mais rien ne fonctionne ... mais dans l'invite de commande il montre le journal USB? – CoDe
@Shubh: La réponse telle qu'elle est écrite est toujours exacte, à partir d'Android 4.2. – CommonsWare