Класс UsbManager |
Добавил(а) microsin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Класс UsbManager (находится в пакете android.hardware.usb.UsbManager) позволяет получить доступ к состоянию USB и в конечном итоге (через иерархию других классов) взаимодействовать с устройствами USB, подключенными к Android как к хосту USB. Класс UsbManager (как и другие классы для поддержки хоста USB) появились начиная с API Level 12. В публичном API в настоящее время поддерживается только режим хоста. При доступе к устройствам USB обычно используется следующая цепочка использования классов (UsbManager является стартовой точкой взаимодействия с устройствами USB): UsbManager -> UsbDevice -> UsbInterface -> UsbEndpoint -> UsbDeviceConnection Вы можете получить экземпляр этого класса путем вызова Context.getSystemService(). UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); Общую информацию по поддержке режимов Host и Accessory см. в [2]. [Обзор класса UsbManager]
Примечание переводчика: в описании методов фигурируют некие аксессуары USB (UsbAccessory) и устройства USB (UsbDevice). Что же такое "аксессуар USB"? Оказывается, что аксессуар USB это тоже устройство USB, с той лишь разницей, что это устройство поддерживает специальный протокол аксессуаров Android (Android accessory protocol). Другими словами, аксессуар USB - это устройство Android, работающее в режиме специального устройства USB, поддерживающее Android accessory протокол. [Константы UsbManager] public static final String ACTION_USB_ACCESSORY_ATTACHEDBroadcast Action: широковещательное сообщение о событии подключения аксессуара USB. Этот intent отправляется, когда к Android в режиме хоста USB подключается аксессуар USB.
Значение константы: "android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
public static final String ACTION_USB_ACCESSORY_DETACHEDBroadcast Action: широковещательное событие о отключении аксессуара USB. Этот intent отправляется, когда отключается аксессуар USB.
Значение константы: "android.hardware.usb.action.USB_ACCESSORY_DETACHED"
public static final String ACTION_USB_DEVICE_ATTACHEDBroadcast Action: то же самое, что и ACTION_USB_ACCESSORY_ATTACHED, только относится к устройству USB.
Значение константы: "android.hardware.usb.action.USB_DEVICE_ATTACHED"
public static final String ACTION_USB_DEVICE_DETACHEDBroadcast Action: то же самое, что и ACTION_USB_ACCESSORY_DETACHED, только относится к устройству USB. Этот intent отправляется, когда устройство USB от ключается от шины USB, и сам Android при этом находится в режиме хоста USB.
Значение константы: "android.hardware.usb.action.USB_DEVICE_DETACHED"
public static final String EXTRA_ACCESSORYИмя дополнения для броадкастов Значение константы: "accessory"
public static final String EXTRA_DEVICEИмя дополнения для броадкастов Значение константы: "device"
public static final String EXTRA_PERMISSION_GRANTEDИмя дополнения к Значение константы: "permission"
[Общедоступные (public) методы UsbManager] public UsbAccessory[] getAccessoryList ()Возвращает список подключенных в настоящее время аксессуаров USB (в текущей реализации в списке может быть самое большее 1 аксессуар). Возвращаетсписок аксессуаров USB, или null, если ни одного аксессуара не подключено. public HashMap<String, UsbDevice> getDeviceList ()Возвращает HashMap, содержащую все устройства USB, подключенные в настоящее время. Имя устройства USB является ключевым в возвращаемой HashMap. Результат будет пуст, если нет подключенных устройств, или если режим хоста неактивен, или если режим хоста не поддерживается. Возвращает
public boolean hasPermission (UsbDevice device)Возвратит true, если вызывающий код имеет разрешение на доступ к устройству. Разрешение может быть дано временно через Параметры
Возвращает
public boolean hasPermission (UsbAccessory accessory)То же самое, только относится к аксессуару USB. Временно разрешение может быть получено через вызов Параметры
Возвращает
public ParcelFileDescriptor openAccessory (UsbAccessory accessory)Открывает дескриптор файла для чтения (и записи) данных из(в) аксессуара USB. Параметры
Возвращает
public UsbDeviceConnection openDevice (UsbDevice device)Открывает устройство USB, так чтобы можно было передавать или принимать данные с использованием Параметры
Возвращает
public void requestPermission (UsbAccessory accessory, PendingIntent pi)Запрашивает временное разрешение для указанного пакета на получение доступа к аксессуару USB. В результате может отобразиться диалог получения разрешения от пользователя, если ранее такое разрешение не было дано. Результат (успешный или нет) будет возвращен через
Параметры
public void requestPermission (UsbDevice device, PendingIntent pi)Запрашивает временное разрешение для указанного пакета на доступ к устройству USB. В результате может отобразиться диалог получения разрешения от пользователя, если ранее такое разрешение не было дано. Результат (успешный или нет) будет возвращен через
Параметры
[Ссылки] 1. UsbManager site:developer.android.com. |