Most visited

Recently visited

Added in API level 12

UsbManager

public class UsbManager
extends Object

java.lang.Object
   ↳ android.hardware.usb.UsbManager


该类允许您访问USB的状态并与USB设备通信。 目前只有公共API支持主机模式。

您可以通过调用 Context.getSystemService()来获得此类的实例。

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);

Developer Guides

有关与USB硬件通信的更多信息,请阅读 USB developer guide

Summary

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

ACTION_USB_ACCESSORY_ATTACHED名称为 ACTION_USB_ACCESSORY_ATTACHEDACTION_USB_ACCESSORY_DETACHED广播,包含附件的 UsbAccessory对象。

String EXTRA_DEVICE

包含设备 UsbDevice对象的 ACTION_USB_DEVICE_ATTACHEDACTION_USB_DEVICE_DETACHED广播的额外名称。

String EXTRA_PERMISSION_GRANTED

添加到 PendingIntent的额外名称传递到 requestPermission(UsbDevice, PendingIntent)requestPermission(UsbAccessory, PendingIntent)其中包含一个布尔值,指示用户是否授予许可。

Public methods

UsbAccessory[] getAccessoryList()

返回当前连接的USB配件列表。

HashMap<StringUsbDevice> getDeviceList()

返回包含当前连接的所有USB设备的HashMap。

boolean hasPermission(UsbAccessory accessory)

如果调用者有权访问附件,则返回true。

boolean hasPermission(UsbDevice device)

如果调用者有权访问设备,则返回true。

ParcelFileDescriptor openAccessory(UsbAccessory accessory)

打开文件描述符以读取和写入USB配件的数据。

UsbDeviceConnection openDevice(UsbDevice device)

打开设备,使其可用于使用 UsbRequest发送和接收数据。

void requestPermission(UsbDevice device, PendingIntent pi)

请求给定包的临时权限以访问设备。

void requestPermission(UsbAccessory accessory, PendingIntent pi)

请求给定包的临时许可以访问附件。

Inherited methods

From class java.lang.Object

Constants

ACTION_USB_ACCESSORY_ATTACHED

Added in API level 12
String ACTION_USB_ACCESSORY_ATTACHED

广播动作:用于USB附件附加事件的广播。 这个意图是在连接USB配件时发送的。

常量值:“android.hardware.usb.action.USB_ACCESSORY_ATTACHED”

ACTION_USB_ACCESSORY_DETACHED

Added in API level 12
String ACTION_USB_ACCESSORY_DETACHED

广播动作:针对USB附件分离事件的广播。 这个意图是在USB附件分离时发送的。

常量值:“android.hardware.usb.action.USB_ACCESSORY_DETACHED”

ACTION_USB_DEVICE_ATTACHED

Added in API level 12
String ACTION_USB_DEVICE_ATTACHED

广播动作:USB设备连接事件的广播。 当USB设备在主机模式下连接到USB总线时,会发送此意图。

常量值:“android.hardware.usb.action.USB_DEVICE_ATTACHED”

ACTION_USB_DEVICE_DETACHED

Added in API level 12
String ACTION_USB_DEVICE_DETACHED

广播动作:USB设备分离事件的广播。 当主机模式下USB设备与USB总线分离时,会发送此意图。

常量值:“android.hardware.usb.action.USB_DEVICE_DETACHED”

EXTRA_ACCESSORY

Added in API level 12
String EXTRA_ACCESSORY

ACTION_USB_ACCESSORY_ATTACHEDACTION_USB_ACCESSORY_DETACHED广播包含附件的 UsbAccessory对象的额外名称。

常数值:“附件”

EXTRA_DEVICE

Added in API level 12
String EXTRA_DEVICE

包含该设备的 UsbDevice对象的 ACTION_USB_DEVICE_ATTACHEDACTION_USB_DEVICE_DETACHED广播的额外名称。

常数值:“设备”

EXTRA_PERMISSION_GRANTED

Added in API level 12
String EXTRA_PERMISSION_GRANTED

添加到 PendingIntent的额外名称传递到 requestPermission(UsbDevice, PendingIntent)requestPermission(UsbAccessory, PendingIntent)其中包含一个布尔值,指示用户是否授予许可。

常数值:“权限”

Public methods

getAccessoryList

Added in API level 12
UsbAccessory[] getAccessoryList ()

返回当前连接的USB配件列表。 (在目前的实施中最多可以有一个)

Returns
UsbAccessory[] list of USB accessories, or null if none are attached.

getDeviceList

Added in API level 12
HashMap<StringUsbDevice> getDeviceList ()

返回包含当前连接的所有USB设备的HashMap。 USB设备名称是返回的HashMap的关键。 如果没有连接设备,或者USB主机模式处于非活动状态或不受支持,结果将为空。

Returns
HashMap<StringUsbDevice> HashMap containing all connected USB devices.

hasPermission

Added in API level 12
boolean hasPermission (UsbAccessory accessory)

如果调用者有权访问附件,则返回true。 权限可能已通过requestPermission(UsbAccessory, PendingIntent)或用户选择主叫方作为附件的默认应用暂时授予。

Parameters
accessory UsbAccessory: to check permissions for
Returns
boolean true if caller has permission

hasPermission

Added in API level 12
boolean hasPermission (UsbDevice device)

如果调用者有权访问设备,则返回true。 权限可能已通过requestPermission(UsbDevice, PendingIntent)或用户选择主叫方作为设备的默认应用暂时授予。

Parameters
device UsbDevice: to check permissions for
Returns
boolean true if caller has permission

openAccessory

Added in API level 12
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.

openDevice

Added in API level 12
UsbDeviceConnection openDevice (UsbDevice device)

打开设备,使其可用于使用 UsbRequest发送和接收数据。

Parameters
device UsbDevice: the device to open
Returns
UsbDeviceConnection a UsbDeviceConnection, or null if open failed

requestPermission

Added in API level 12
void requestPermission (UsbDevice device, 
                PendingIntent pi)

请求给定包的临时权限以访问设备。 如果尚未授予权限,则可能会导致系统对话框显示给用户。 成功或失败通过PendingIntent pi返回。 如果成功,则只允许主叫方访问设备,直到设备断开连接。 以下附加内容将被添加到pi中:

Parameters
device UsbDevice: to request permissions for
pi PendingIntent: PendingIntent for returning result

requestPermission

Added in API level 12
void requestPermission (UsbAccessory accessory, 
                PendingIntent pi)

请求给定包的临时许可以访问附件。 如果尚未授予权限,则可能会导致系统对话框显示给用户。 成功或失败通过PendingIntent pi返回。 如果成功,则只允许呼叫者访问附件,直到设备断开连接。 以下附加内容将被添加到pi中:

Parameters
accessory UsbAccessory: to request permissions for
pi PendingIntent: PendingIntent for returning result

Hooray!