# USB子系统变更说明 ## cl.USB .1 USB管理功能模块接口废弃 **访问级别** 系统接口 **废弃原因** USB模块接口增加权限控制,新开放的接口包含旧的系统级接口完整功能,接口更加标准并且原子化,符合社区API规范。 **废弃影响** 非兼容性变更,需要开发者进行适配。 **废弃发生版本** 从OpenHarmony SDK 4.1.5.1开始。 **废弃的接口** 修改不合理的鉴权方式整改。不允许使用调用方进程APL等级进行权限校验,需要修改为使用AccessTokenKit::VerifyAccessToken对访问者进行权限校验,新接口调用者需要申请ohos.permission. MANAGE_USB_CONFIG权限。 | 接口声明 | 废弃说明 | 替代接口 | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | function addRight(bundleName: string, deviceName: string): boolean; | 使用usb.addDeviceAccessRight接口添加软件包访问设备的权限。 | function addDeviceAccessRight(bundleName: string, deviceName: string): boolean; | | function usbFunctionsFromString(funcs: string): number; | 使用usb.getFunctionsFromString接口将字符串形式的USB功能列表转化为数字掩码 | function getFunctionsFromString(funcs: string): number; | | function usbFunctionsToString(funcs: FunctionType): string; | 使用usb.convertFunctionsToString接口将数字掩码形式的USB功能列表转化为字符串。 | function convertFunctionsToString(funcs: FunctionType): string; | | function setCurrentFunctions(funcs: FunctionType): Promise<void>; | 使用usb.setDeviceFunctions接口设置当前的USB功能列表。 | function setDeviceFunctions(funcs: FunctionType): Promise<void>; | | function getCurrentFunctions(): FunctionType; | 使用usb.getDeviceFunctions接口获取当前的USB功能列表的数字组合掩码。 | function getDeviceFunctions(): FunctionType; | | function getPorts(): Array<USBPort>; | 使用usb.getUsbPorts接口获取所有物理USB端口描述信息。 | function getUsbPorts(): Array<USBPort>; | | function getSupportedModes(portId: number): PortModeType; | 使用usb.getUsbPortSupportModes接口获取指定的端口支持的模式列表的组合掩码 | function getUsbPortSupportModes(portId: number): PortModeType; | | function setPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise<void>; | 使用usb.setUsbPortRoles接口设置指定的端口支持的角色模式,包含充电角色、数据传输角色。 | function setUsbPortRoles(portId: number, powerRole: PowerRoleType, dataRole: DataRoleType): Promise<void>; | **适配指导** 变更前 应用配置文件xxx.cfg中的apl字段是system_basic 或者 system_core。 变更后 配置文件中的permission 字段需要添加ohos.permission.MANAGE_USB_CONFIG权限。