В различных руководствах по созданию аксессуара Android, использующего USB-соединение, первым шагом является «Выбор аппаратной платформы, которая может поддерживать режим USB-хоста». В большинстве этих руководств утверждается, что это означает получение устройства под управлением > Android 3.1 (или рутированного, или планшета и т. д.).
В моем тестировании оказалось, что для того, чтобы телефон поддерживал режим хоста USB, он должен не только работать под управлением > Android 3.1, но также должен подавать питание по кабелю USB. Кто-нибудь может подтвердить или опровергнуть это?
Похоже, что большинство планшетов подают питание через USB, но многие телефоны этого не делают. Я не могу найти ни одного места, в котором бы прямо говорилось, что телефон должен подавать питание через USB, чтобы иметь возможность запускать аксессуар, поскольку все они, кажется, в общих чертах заявляют, что все, что работает> 3.1, будет работать (пока, по крайней мере, устройство, которое вы подключаете к телефону, подает питание). Однако во всех USB-библиотеках, которые я тестировал, я могу просто подключиться к моему USB-устройству с моего планшета (который ДЕЙСТВИТЕЛЬНО подает питание через USB), но я не могу заставить ни одну из них работать с моим телефоном ( который НЕ подает питание через USB). Оба работают под управлением > Android 3.1.
Обратите внимание, что я не пытаюсь запитать свой аксессуар через USB. Мой аксессуар имеет собственный источник питания 5 В и может даже подавать питание через USB. Я просто хочу создать приложение, которое позволит моему телефону подключаться к нему, изменять его настройки, получать данные и т. д., но я не могу заставить свой телефон распознавать, подключено ли/когда устройство. Я не знаю, связано ли это с отсутствием питания на моем телефоне через USB или с другой проблемой, связанной с моим телефоном и/или программным обеспечением. К сожалению, у меня нет другого телефона >3.1 для тестирования.
В качестве примечания: устройство, к которому я подключаюсь, представляет собой плату FTDI/Arduino, над которой я работаю и которая, опять же, прекрасно подключается к планшету (с питанием), но телефон (без питания) утверждает, что никакие USB-устройства не подключены. подключен (даже несмотря на то, что плата FTDI обеспечивает собственное питание).