有沒有辦法檢測USB閃存驅動器插入Android設備的時間?我可以使用廣播接收器檢測SD卡,但它不適用於USB。我想避免投票。Android:檢測插入的USB閃存驅動器
代碼以註冊接收器:
private void RegisterUpdateReceiver()
{
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.action.MEDIA_MOUNTED");
intentFilter.addDataScheme("file");
myReceiver = new MyReceiver();
this.registerReceiver(myReceiver, intentFilter);
}
接收器代碼:
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顯示了一些與USB掛載有關的事件,但我無法在SDK級別檢測到這一點。聽起來像你說的是對的。 W/MountService(931):getVolumeState(/ mnt/usbdisk):未知卷 E/VoldConnector(931):錯誤處理'605卷usbdisk/mnt/usbdisk狀態從3(檢查)更改爲4(已裝入)' – Ravi
任何運氣在這裏,我也使用ACTION_MEDIA_REMOVED和其他接收器相關的USB掛載和卸載...但沒有任何工作..但在命令提示符顯示USB日誌? – CoDe
@Shubh:從Android 4.2開始,所寫的答案仍然準確無誤。 – CommonsWare