public class UsbManager
extends Object
java.lang.Object | |
↳ | android.hardware.usb.UsbManager |
这个类允许您访问USB的状态并与USB设备通信。目前,公共API中只支持主机模式。
有关与usb硬件通信的详细信息,请阅读USB开发人员指南.
常数 | |
---|---|
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 添加到 |
公共方法 | |
---|---|
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) 请求给定包访问附件的临时权限。 |
遗传方法 | |
---|---|
下课 java.lang.Object |
public static final String ACTION_USB_ACCESSORY_ATTACHED
当用户附加USB附件时发送的活动意图。
常数:“android.hardware.usb.action.USB_ACCESSORY_ATTACHED”
public static final String ACTION_USB_ACCESSORY_DETACHED
广播动作:USB附件分离事件的广播。这个意图是在USB附件被分离时发送的。
EXTRA_ACCESSORY
包含UsbAccessory
对于被分离的附件
常数:“android.hardware.usb.action.USB_ACCESSORY_DETACHED”
public static final String ACTION_USB_DEVICE_ATTACHED
用户附加USB设备时发送的活动意图。当USB设备在主机模式下连接到USB总线时,就会发送此意图。
EXTRA_DEVICE
包含UsbDevice
为附加设备
常数:“android.hardware.usb.action.USB_DEVICE_ATTACHED”
public static final String ACTION_USB_DEVICE_DETACHED
广播操作:USB设备分离事件的广播。当USB设备在主机模式下与USB总线分离时,就会发送此意图。
EXTRA_DEVICE
包含UsbDevice
用于分离设备
常数:“android.hardware.usb.action.USB_DEVICE_DETACHED”
public static final String EXTRA_ACCESSORY
额外名称ACTION_USB_ACCESSORY_ATTACHED
和ACTION_USB_ACCESSORY_DETACHED
包含UsbAccessory
附件的对象。
定值:“附件”
public static final String EXTRA_DEVICE
额外名称ACTION_USB_DEVICE_ATTACHED
和ACTION_USB_DEVICE_DETACHED
包含UsbDevice
对象,用于该设备。
恒定值:“设备”
public static final String EXTRA_PERMISSION_GRANTED
添加到PendingIntent
传入requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent)
或requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent)
包含一个布尔值,该值指示用户是否授予权限。
常量值:“许可”
public UsbAccessory[] getAccessoryList ()
返回当前附加的USB附件列表。(在当前的实现中,最多只能有一个)
要求PackageManager#FEATURE_USB_ACCESSORY
可以使用PackageManager.hasSystemFeature(String)
.
回报 | |
---|---|
UsbAccessory[] | USB附件列表,如果没有附加,则为NULL。
|
public HashMap<String, UsbDevice> getDeviceList ()
返回包含当前附加的所有USB设备的HashMap。USB设备名称是返回的HashMap的键。如果没有附加设备,或者USB主机模式不活动或不受支持,则结果将为空。
要求PackageManager#FEATURE_USB_HOST
可以使用PackageManager.hasSystemFeature(String)
.
回报 | |
---|---|
HashMap<String, UsbDevice> | 包含所有连接的USB设备的HashMap。
|
public boolean hasPermission (UsbAccessory accessory)
如果调用方具有访问附件的权限,则返回true。许可可能是通过requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent)
或者由用户选择调用方作为附件的默认应用程序。
要求PackageManager#FEATURE_USB_ACCESSORY
可以使用PackageManager.hasSystemFeature(String)
.
参数 | |
---|---|
accessory | UsbAccessory *检查
|
回报 | |
---|---|
boolean | 如果调用方有权限,则为true。
|
public boolean hasPermission (UsbDevice device)
如果调用方具有访问设备的权限,则返回true。许可可能是通过requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent)
或者由用户选择调用方作为设备的默认应用程序。类usb设备的权限UsbConstants#USB_CLASS_VIDEO
对于目标SDK的客户端Build.VERSION_CODES.P
而且,只有当他们有额外的Manifest.permission.CAMERA
许可。
要求PackageManager#FEATURE_USB_HOST
可以使用PackageManager.hasSystemFeature(String)
.
参数 | |
---|---|
device | UsbDevice *检查
|
回报 | |
---|---|
boolean | 如果调用方有权限,则为true。
|
public ParcelFileDescriptor openAccessory (UsbAccessory accessory)
打开一个文件描述符,用于将数据读写到USB附件。
如果数据从InputStream
从该文件描述符创建的USB传输的所有数据应立即读取。如果只读取部分请求,则删除传输的其余部分。
要求PackageManager#FEATURE_USB_ACCESSORY
可以使用PackageManager.hasSystemFeature(String)
.
参数 | |
---|---|
accessory | UsbAccessory *要打开的USB附件
|
回报 | |
---|---|
ParcelFileDescriptor | 文件描述符,如果附件无法打开,则为NULL。
|
public UsbDeviceConnection openDevice (UsbDevice device)
打开设备,以便可以用它来发送和接收数据。UsbRequest
.
要求PackageManager#FEATURE_USB_HOST
可以使用PackageManager.hasSystemFeature(String)
.
参数 | |
---|---|
device | UsbDevice *打开装置
|
回报 | |
---|---|
UsbDeviceConnection | a UsbDeviceConnection ,或null 如果打开失败
|
public void requestPermission (UsbDevice device, PendingIntent pi)
请求给定包访问设备的临时权限。如果尚未授予权限,则可能导致向用户显示系统对话框。成功或失败通过PendingIntent
派。如果成功,则授予调用方访问设备的权限,直到设备断开为止。以下附加内容将添加到pi中:
EXTRA_DEVICE
包含传递到此调用的设备EXTRA_PERMISSION_GRANTED
包含指示用户是否授予权限的布尔值。类usb设备的权限UsbConstants#USB_CLASS_VIDEO
对于目标SDK的客户端Build.VERSION_CODES.P
而且,只有当他们有额外的Manifest.permission.CAMERA
许可。
要求PackageManager#FEATURE_USB_HOST
可以使用PackageManager.hasSystemFeature(String)
.
参数 | |
---|---|
device | UsbDevice *请求对
|
pi | PendingIntent *PendingIntent返回结果
|
public void requestPermission (UsbAccessory accessory, PendingIntent pi)
请求给定包访问附件的临时权限。如果尚未授予权限,则可能导致向用户显示系统对话框。成功或失败通过PendingIntent
派。如果成功,则授予调用方访问附件的权限,直到设备断开为止。以下附加内容将添加到pi中:
EXTRA_ACCESSORY
包含传入此呼叫的附件EXTRA_PERMISSION_GRANTED
包含指示用户是否授予权限的布尔值。
要求PackageManager#FEATURE_USB_ACCESSORY
可以使用PackageManager.hasSystemFeature(String)
.
参数 | |
---|---|
accessory | UsbAccessory *请求对
|
pi | PendingIntent *PendingIntent返回结果
|