public class UsbManager
extends Object
java.lang.Object | |
↳ | android.hardware.usb.UsbManager |
该类允许您访问USB的状态并与USB设备通信。 目前只有公共API支持主机模式。
您可以通过调用 Context.getSystemService()
来获得此类的实例。
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
有关与USB硬件通信的更多信息,请阅读 USB developer guide 。
Constants |
|
---|---|
String |
ACTION_USB_ACCESSORY_ATTACHED 广播动作:用于USB附件附加事件的广播。 |
String |
ACTION_USB_ACCESSORY_DETACHED 广播动作:针对USB附件分离事件的广播。 |
String |
ACTION_USB_DEVICE_ATTACHED 广播动作:USB设备连接事件的广播。 |
String |
ACTION_USB_DEVICE_DETACHED 广播动作:USB设备分离事件的广播。 |
String |
EXTRA_ACCESSORY
|
String |
EXTRA_DEVICE 包含设备 |
String |
EXTRA_PERMISSION_GRANTED 添加到 |
Public methods |
|
---|---|
UsbAccessory[] |
getAccessoryList() 返回当前连接的USB配件列表。 |
HashMap<String, UsbDevice> |
getDeviceList() 返回包含当前连接的所有USB设备的HashMap。 |
boolean |
hasPermission(UsbAccessory accessory) 如果调用者有权访问附件,则返回true。 |
boolean |
hasPermission(UsbDevice device) 如果调用者有权访问设备,则返回true。 |
ParcelFileDescriptor |
openAccessory(UsbAccessory accessory) 打开文件描述符以读取和写入USB配件的数据。 |
UsbDeviceConnection |
openDevice(UsbDevice device) 打开设备,使其可用于使用 |
void |
requestPermission(UsbDevice device, PendingIntent pi) 请求给定包的临时权限以访问设备。 |
void |
requestPermission(UsbAccessory accessory, PendingIntent pi) 请求给定包的临时许可以访问附件。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String ACTION_USB_ACCESSORY_ATTACHED
广播动作:用于USB附件附加事件的广播。 这个意图是在连接USB配件时发送的。
EXTRA_ACCESSORY
containing the UsbAccessory
for the attached accessory 常量值:“android.hardware.usb.action.USB_ACCESSORY_ATTACHED”
String ACTION_USB_ACCESSORY_DETACHED
广播动作:针对USB附件分离事件的广播。 这个意图是在USB附件分离时发送的。
EXTRA_ACCESSORY
containing the UsbAccessory
for the attached accessory that was detached 常量值:“android.hardware.usb.action.USB_ACCESSORY_DETACHED”
String ACTION_USB_DEVICE_ATTACHED
广播动作:USB设备连接事件的广播。 当USB设备在主机模式下连接到USB总线时,会发送此意图。
EXTRA_DEVICE
containing the UsbDevice
for the attached device 常量值:“android.hardware.usb.action.USB_DEVICE_ATTACHED”
String ACTION_USB_DEVICE_DETACHED
广播动作:USB设备分离事件的广播。 当主机模式下USB设备与USB总线分离时,会发送此意图。
EXTRA_DEVICE
containing the UsbDevice
for the detached device 常量值:“android.hardware.usb.action.USB_DEVICE_DETACHED”
String EXTRA_ACCESSORY
ACTION_USB_ACCESSORY_ATTACHED
和 ACTION_USB_ACCESSORY_DETACHED
广播包含附件的 UsbAccessory
对象的额外名称。
常数值:“附件”
String EXTRA_DEVICE
包含该设备的 UsbDevice
对象的 ACTION_USB_DEVICE_ATTACHED
和 ACTION_USB_DEVICE_DETACHED
广播的额外名称。
常数值:“设备”
String EXTRA_PERMISSION_GRANTED
添加到 PendingIntent
的额外名称传递到 requestPermission(UsbDevice, PendingIntent)
或 requestPermission(UsbAccessory, PendingIntent)
其中包含一个布尔值,指示用户是否授予许可。
常数值:“权限”
UsbAccessory[] getAccessoryList ()
返回当前连接的USB配件列表。 (在目前的实施中最多可以有一个)
Returns | |
---|---|
UsbAccessory[] |
list of USB accessories, or null if none are attached. |
HashMap<String, UsbDevice> getDeviceList ()
返回包含当前连接的所有USB设备的HashMap。 USB设备名称是返回的HashMap的关键。 如果没有连接设备,或者USB主机模式处于非活动状态或不受支持,结果将为空。
Returns | |
---|---|
HashMap<String, UsbDevice> |
HashMap containing all connected USB devices. |
boolean hasPermission (UsbAccessory accessory)
如果调用者有权访问附件,则返回true。 权限可能已通过requestPermission(UsbAccessory, PendingIntent)
或用户选择主叫方作为附件的默认应用暂时授予。
Parameters | |
---|---|
accessory |
UsbAccessory : to check permissions for |
Returns | |
---|---|
boolean |
true if caller has permission |
boolean hasPermission (UsbDevice device)
如果调用者有权访问设备,则返回true。 权限可能已通过requestPermission(UsbDevice, PendingIntent)
或用户选择主叫方作为设备的默认应用暂时授予。
Parameters | |
---|---|
device |
UsbDevice : to check permissions for |
Returns | |
---|---|
boolean |
true if caller has permission |
ParcelFileDescriptor openAccessory (UsbAccessory accessory)
打开文件描述符以读取和写入USB配件的数据。
Parameters | |
---|---|
accessory |
UsbAccessory : the USB accessory to open |
Returns | |
---|---|
ParcelFileDescriptor |
file descriptor, or null if the accessor could not be opened. |
UsbDeviceConnection openDevice (UsbDevice device)
打开设备,使其可用于使用 UsbRequest
发送和接收数据。
Parameters | |
---|---|
device |
UsbDevice : the device to open |
Returns | |
---|---|
UsbDeviceConnection |
a UsbDeviceConnection , or null if open failed |
void requestPermission (UsbDevice device, PendingIntent pi)
请求给定包的临时权限以访问设备。 如果尚未授予权限,则可能会导致系统对话框显示给用户。 成功或失败通过PendingIntent
pi返回。 如果成功,则只允许主叫方访问设备,直到设备断开连接。 以下附加内容将被添加到pi中:
EXTRA_DEVICE
containing the device passed into this call EXTRA_PERMISSION_GRANTED
containing boolean indicating whether permission was granted by the user Parameters | |
---|---|
device |
UsbDevice : to request permissions for |
pi |
PendingIntent : PendingIntent for returning result |
void requestPermission (UsbAccessory accessory, PendingIntent pi)
请求给定包的临时许可以访问附件。 如果尚未授予权限,则可能会导致系统对话框显示给用户。 成功或失败通过PendingIntent
pi返回。 如果成功,则只允许呼叫者访问附件,直到设备断开连接。 以下附加内容将被添加到pi中:
EXTRA_ACCESSORY
containing the accessory passed into this call EXTRA_PERMISSION_GRANTED
containing boolean indicating whether permission was granted by the user Parameters | |
---|---|
accessory |
UsbAccessory : to request permissions for |
pi |
PendingIntent : PendingIntent for returning result |