0

我正在使用媒體傳輸協議從連接到我的Android平板電腦USB主機(Android 3.1,Acer Iconia Tab A500)的相機讀取照片的應用程序。未接收USB_DEVICE_ATTACHED訪問連接的MTP設備意圖?

我發現了一些教程,介紹瞭如何使用USB,並且從USB攝像頭複製到SD卡已經工作。

我只有一個問題:所有的教程都等待USB_DEVICE_ATTACHED-Intent,然後打開一個UsbDeviceConnection與intents Bundle中發送的設備進行通信。

因此,我希望能夠手動啓動訪問USB的活動 - 無需接收此意圖。 現在的問題是,我無法打開USBConnection這樣

UsbDeviceConnection usbDeviceConnection = usbManager.openDevice(usbDevice); 

它只是返回null。 如果我重新插入設備並選擇我的活動作爲意圖接收器,它工作正常。 我認爲這必須是因爲IntentReceiver在USB設備上擁有一些獨佔權限。

我的清單看起來是這樣的:

<activity 
     android:name=".ImageActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> 
     </intent-filter> 
     <meta-data 
      android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" 
      android:resource="@xml/device_filter" /> 
    </activity> 

所以一個例子:如果什麼用戶設置Galery爲默認USB設備。在這種情況下如何訪問USB設備?

回答