Ho un'app Android che deve rilevare quando una periferica USB è collegata o scollegata. Funziona correttamente quando la periferica viene collegata per la prima volta, ma non ricevo alcuna notifica (ad esempio, non ricevo uno Intent
la cui azione è ACTION_USB_DEVICE_DETACHED
) quando viene successivamente rimosso.Rilevamento quando un dispositivo USB è scollegato su Android
Ecco la parte rilevante della mia AndroidManifest.xml
:
<activity android:name=".LauncherActivity">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" />
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" android:resource="@xml/device_filter" />
</activity>
Può anche essere interessante notare che LauncherActivity
esiste solo per iniziare una Service
quando il dispositivo è collegato, e per arrestare il servizio quando si è staccato. In entrambi i casi, LauncherActivity
è sempre finish
stesso. Tutto ciò si verifica in LauncherActivity.onCreate
.
Qualche idea?
Ciao controlla questo post http://stackoverflow.com/a/9814826/760489 – Pratik