当前位置: 首页 > 工具软件 > USBManager > 使用案例 >

UsbManager

薄瑞
2023-12-01

public class UsbManager 
extends Object 

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

 


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

开发人员指南

有关与usb硬件通信的详细信息,请阅读USB开发人员指南.

 

摘要

常数

StringACTION_USB_ACCESSORY_ATTACHED

当用户附加USB附件时发送的活动意图。

StringACTION_USB_ACCESSORY_DETACHED

广播动作:USB附件分离事件的广播。

StringACTION_USB_DEVICE_ATTACHED

用户附加USB设备时发送的活动意图。

StringACTION_USB_DEVICE_DETACHED

广播操作:USB设备分离事件的广播。

StringEXTRA_ACCESSORY

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

StringEXTRA_DEVICE

额外名称ACTION_USB_DEVICE_ATTACHEDACTION_USB_DEVICE_DETACHED包含UsbDevice对象,用于该设备。

StringEXTRA_PERMISSION_GRANTED

添加到PendingIntent传入requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent)requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent)包含一个布尔值,该值指示用户是否授予权限。

公共方法

UsbAccessory[]getAccessoryList()

返回当前附加的USB附件列表。

HashMap<StringUsbDevice>getDeviceList()

返回包含当前附加的所有USB设备的HashMap。

booleanhasPermission(UsbAccessory accessory)

如果调用方具有访问附件的权限,则返回true。

booleanhasPermission(UsbDevice device)

如果调用方具有访问设备的权限,则返回true。

ParcelFileDescriptoropenAccessory(UsbAccessory accessory)

打开一个文件描述符,用于将数据读写到USB附件。

UsbDeviceConnectionopenDevice(UsbDevice device)

打开设备,以便可以用它来发送和接收数据。UsbRequest.

voidrequestPermission(UsbDevice device, PendingIntent pi)

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

voidrequestPermission(UsbAccessory accessory, PendingIntent pi)

请求给定包访问附件的临时权限。

遗传方法

下课 java.lang.Object

常数

动作USB附件

加进空气污染指数第12级

public static final String ACTION_USB_ACCESSORY_ATTACHED

当用户附加USB附件时发送的活动意图。

 

 

常数:“android.hardware.usb.action.USB_ACCESSORY_ATTACHED”

动作USB附件分离

加进空气污染指数第12级

public static final String ACTION_USB_ACCESSORY_DETACHED

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

 

 

常数:“android.hardware.usb.action.USB_ACCESSORY_DETACHED”

动作USB装置

加进空气污染指数第12级

public static final String ACTION_USB_DEVICE_ATTACHED

用户附加USB设备时发送的活动意图。当USB设备在主机模式下连接到USB总线时,就会发送此意图。

 

 

常数:“android.hardware.usb.action.USB_DEVICE_ATTACHED”

动作USB设备分离

加进空气污染指数第12级

public static final String ACTION_USB_DEVICE_DETACHED

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

 

 

常数:“android.hardware.usb.action.USB_DEVICE_DETACHED”

额外附件

加进空气污染指数第12级

public static final String EXTRA_ACCESSORY

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

 

定值:“附件”

额外装置

加进空气污染指数第12级

public static final String EXTRA_DEVICE

额外名称ACTION_USB_DEVICE_ATTACHEDACTION_USB_DEVICE_DETACHED包含UsbDevice对象,用于该设备。

 

恒定值:“设备”

额外许可

加进空气污染指数第12级

public static final String EXTRA_PERMISSION_GRANTED

添加到PendingIntent传入requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent)requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent)包含一个布尔值,该值指示用户是否授予权限。

 

常量值:“许可”

公共方法

getAccessoryList

加进空气污染指数第12级

public UsbAccessory[] getAccessoryList ()

返回当前附加的USB附件列表。(在当前的实现中,最多只能有一个)
要求PackageManager#FEATURE_USB_ACCESSORY可以使用PackageManager.hasSystemFeature(String).

 

回报
UsbAccessory[]USB附件列表,如果没有附加,则为NULL。

 

getDeviceList

加进空气污染指数第12级

public HashMap<StringUsbDevice> getDeviceList ()

返回包含当前附加的所有USB设备的HashMap。USB设备名称是返回的HashMap的键。如果没有附加设备,或者USB主机模式不活动或不受支持,则结果将为空。
要求PackageManager#FEATURE_USB_HOST可以使用PackageManager.hasSystemFeature(String).

 

回报
HashMap<StringUsbDevice>包含所有连接的USB设备的HashMap。

 

哈斯

加进空气污染指数第12级

public boolean hasPermission (UsbAccessory accessory)

如果调用方具有访问附件的权限,则返回true。许可可能是通过requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent)或者由用户选择调用方作为附件的默认应用程序。
要求PackageManager#FEATURE_USB_ACCESSORY可以使用PackageManager.hasSystemFeature(String).

 

参数
accessoryUsbAccessory*检查

 

回报
boolean如果调用方有权限,则为true。

 

哈斯

加进空气污染指数第12级

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

 

参数
deviceUsbDevice*检查

 

回报
boolean如果调用方有权限,则为true。

 

开合器

加进空气污染指数第12级

public ParcelFileDescriptor openAccessory (UsbAccessory accessory)

打开一个文件描述符,用于将数据读写到USB附件。

如果数据从InputStream从该文件描述符创建的USB传输的所有数据应立即读取。如果只读取部分请求,则删除传输的其余部分。
要求PackageManager#FEATURE_USB_ACCESSORY可以使用PackageManager.hasSystemFeature(String).

 

参数
accessoryUsbAccessory*要打开的USB附件

 

回报
ParcelFileDescriptor文件描述符,如果附件无法打开,则为NULL。

 

开放设备

加进空气污染指数第12级

public UsbDeviceConnection openDevice (UsbDevice device)

打开设备,以便可以用它来发送和接收数据。UsbRequest
要求PackageManager#FEATURE_USB_HOST可以使用PackageManager.hasSystemFeature(String).

 

参数
deviceUsbDevice*打开装置

 

回报
UsbDeviceConnectionUsbDeviceConnection,或null如果打开失败

 

请求执行

加进空气污染指数第12级

public void requestPermission (UsbDevice device, 
                PendingIntent pi)

请求给定包访问设备的临时权限。如果尚未授予权限,则可能导致向用户显示系统对话框。成功或失败通过PendingIntent派。如果成功,则授予调用方访问设备的权限,直到设备断开为止。以下附加内容将添加到pi中:

类usb设备的权限UsbConstants#USB_CLASS_VIDEO对于目标SDK的客户端Build.VERSION_CODES.P而且,只有当他们有额外的Manifest.permission.CAMERA许可。
要求PackageManager#FEATURE_USB_HOST可以使用PackageManager.hasSystemFeature(String).

 

 

参数
deviceUsbDevice*请求对

 

piPendingIntent*PendingIntent返回结果

 

请求执行

加进空气污染指数第12级

public void requestPermission (UsbAccessory accessory, 
                PendingIntent pi)

请求给定包访问附件的临时权限。如果尚未授予权限,则可能导致向用户显示系统对话框。成功或失败通过PendingIntent派。如果成功,则授予调用方访问附件的权限,直到设备断开为止。以下附加内容将添加到pi中:


要求PackageManager#FEATURE_USB_ACCESSORY可以使用PackageManager.hasSystemFeature(String).

 

 

参数
accessoryUsbAccessory*请求对

 

piPendingIntent*PendingIntent返回结果

 

 类似资料:

相关阅读

相关文章

相关问答