2011-09-01 26 views
1

我想在安裝Android設備時檢測MTP/PTP設備。我知道有一種方法使用Intent:android.hardware.usb.action.USB_DEVICE_ATTACHED,然後定義使用像<usb-device class="6" subclass="1" protocol="1">這樣的資源的元數據,但它不起作用。系統不會將此意向發送到註冊的應用程序。如何檢測Honeycomb中的MTP/PTP設備?

因此,有沒有人知道該怎麼做?

回答

0

你有沒有設置本機加入充當USB主機到 AndroidManifest.xml

<uses-feature android:name="android.hardware.usb.host" /> 
0

,你可以請註明什麼是您正在使用的測試設備? 很可能您的設備在USB設備描述符和/或接口描述符的類,子類和協議中沒有PTP/MTP特定值。 請參閱:http://events.linuxfoundation.org/sites/events/files/slides/Media%20Transfer%20Protocol.pdf 某些設備將自己宣傳爲大容量存儲設備或特定供應商。 如果是這種情況,唯一的方法是嘗試匹配您想要支持的設備的供應商ID和產品ID。 這裏還有一個MTP設備列表,其供應商ID和產品ID爲:http://sourceforge.net/p/libmtp/code/ci/HEAD/tree/src/music-players.h

希望這會有所幫助。