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) |
|
|---|---|
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 |