Как обнаружить устройство MTP / PTP в сотах?

1

Я хочу обнаружить устройство MTP/PTP, когда он подключается к устройству Android. Я знаю, что есть один метод с использованием Intent: android.hardware.usb.action.USB_DEVICE_ATTACHED а затем определение метаданных, которые используют ресурс типа <usb-device class="6" subclass="1" protocol="1">, но он не работает. Система не отправляет это намерение зарегистрированному приложению.

Таким образом, кто-нибудь знает, как это сделать?

Теги:
usb-drive

2 ответа

0

не могли бы вы указать, какое устройство вы используете для тестирования? Весьма вероятно, что ваше устройство не имеет конкретных значений PTP/MTP в классе, подклассе и протоколе для дескриптора устройства USB и/или интерфейса. См. Следующее: http://events.linuxfoundation.org/sites/events/files/slides/Media%20Transfer%20Protocol.pdf Некоторые устройства рекламируют себя как устройства хранения данных или спецификацию поставщиков. Если это так, единственный способ - попробовать сопоставить идентификатор поставщика и идентификатор продукта для устройств, которые вы хотели бы поддержать. Ниже приведен список MTP-устройств с идентификатором и идентификатором поставщика: http://sourceforge.net/p/libmtp/code/ci/HEAD/tree/src/music-players.h.

Надеюсь это поможет.

0

Установили ли вы устройство как USB-хост, добавив в AndroidManifest.xml:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню