@ohos.usb (USB管理)(系统接口)

本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。

说明:

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

从API version 9开始,该接口不再维护,推荐使用新接口@ohos.usbManager

当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.usb (USB管理)(已停止维护)

导入模块

import usb from "@ohos.usb";
import { BusinessError } from '@ohos.base';

usb.usbFunctionsFromString9+

usbFunctionsFromString(funcs: string): number

在设备模式下,将字符串形式的USB功能列表转化为数字掩码。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

参数:

参数名 类型 必填 说明
funcs string 字符串形式的功能列表。

返回值:

类型 说明
number 转化后的数字掩码。

示例:

let funcs = "acm";
let ret = usb.usbFunctionsFromString(funcs);

usb.usbFunctionsToString9+

usbFunctionsToString(funcs: FunctionType): string

在设备模式下,将数字掩码形式的USB功能列表转化为字符串。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

参数:

参数名 类型 必填 说明
funcs FunctionType USB功能数字掩码。

返回值:

类型 说明
string 转化后的字符串形式的功能列表。

示例:

let funcs = usb.FunctionType.ACM | usb.FunctionType.ECM;
let ret = usb.usbFunctionsToString(funcs);

usb.setCurrentFunctions9+

setCurrentFunctions(funcs: FunctionType): Promise<boolean>

在设备模式下,设置当前的USB功能列表。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

参数:

参数名 类型 必填 说明
funcs FunctionType USB功能数字掩码。

返回值:

类型 说明
Promise<boolean> Promise对象,返回设置成功与否的结果。true表示设置成功,false表示设置失败。

示例:

let funcs : number = usb.FunctionType.HDC;
usb.setCurrentFunctions(funcs).then(() => {
    console.info('usb setCurrentFunctions successfully.');
}).catch((err : BusinessError) => {
    console.error('usb setCurrentFunctions failed: ' + err.code + ' message: ' + err.message);
});

usb.getCurrentFunctions9+

getCurrentFunctions(): FunctionType

在设备模式下,获取当前的USB功能列表的数字组合掩码。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

返回值:

类型 说明
FunctionType 当前的USB功能列表的数字组合掩码。

示例:

let ret = usb.getCurrentFunctions();

usb.getPorts9+

getPorts(): Array<USBPort>

获取所有物理USB端口描述信息。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

返回值:

类型 说明
Array<USBPort> USB端口描述信息列表。

示例:

let ret = usb.getPorts();

usb.getSupportedModes9+

getSupportedModes(portId: number): PortModeType

获取指定的端口支持的模式列表的组合掩码。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

参数:

参数名 类型 必填 说明
portId number 端口号。

返回值:

类型 说明
PortModeType 支持的模式列表的组合掩码。

示例:

let ret = usb.getSupportedModes(0);

usb.setPortRoles9+

setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise<boolean>

设置指定的端口支持的角色模式,包含充电角色、数据传输角色。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

参数:

参数名 类型 必填 说明
portId number 端口号。
powerRole PowerRoleType 充电的角色。
dataRole DataRoleType 数据传输的角色。

返回值:

类型 说明
Promise<boolean> Promise对象,返回设置成功与否的结果。true表示设置成功,false表示设置失败。

示例:

let portId = 1;
usb.setPortRoles(portId, usb.PowerRoleType.SOURCE, usb.DataRoleType.HOST).then(() => {
    console.info('usb setPortRoles successfully.');
}).catch((err : BusinessError) => {
    console.error('usb setPortRoles failed: ' + err.code + ' message: ' + err.message);
});

USBPort9+

USB设备端口。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

名称 类型 必填 说明
id number USB端口唯一标识。
supportedModes PortModeType USB端口所支持的模式的数字组合掩码。
status USBPortStatus USB端口角色。

USBPortStatus9+

USB设备端口角色信息。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

名称 类型 必填 说明
currentMode number 当前的USB模式。
currentPowerRole number 当前设备充电模式。
currentDataRole number 当前设备数据传输模式。

FunctionType9+

USB设备侧功能。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

名称 说明
NONE 0 没有功能。
ACM 1 acm功能。
ECM 2 ecm功能。
HDC 4 hdc功能。
MTP 8 暂不支持。
PTP 16 暂不支持。
RNDIS 32 暂不支持。
MIDI 64 暂不支持。
AUDIO_SOURCE 128 暂不支持。
NCM 256 暂不支持。

PortModeType9+

USB端口模式类型。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

名称 说明
NONE 0 无。
UFP 1 数据上行,需要外部供电。
DFP 2 数据下行,对外提供电源。
DRP 3 既可以做DFP(Host),也可以做UFP(Device),当前不支持。
NUM_MODES 4 当前不支持。

PowerRoleType9+

电源角色类型。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

名称 说明
NONE 0 无。
SOURCE 1 外部供电。
SINK 2 内部供电。

DataRoleType9+

数据角色类型。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.USB.USBManager

名称 说明
NONE 0 无。
HOST 1 主设备角色。
DEVICE 2 从设备角色。