1# @ohos.enterprise.usbManager(USB管理)(系统接口) 2<!--Kit: MDM Kit--> 3<!--Subsystem: Customization--> 4<!--Owner: @huanleima--> 5<!--Designer: @liuzuming--> 6<!--Tester: @lpw_work--> 7<!--Adviser: @Brilliantry_Rui--> 8 9本模块提供USB管理能力。 10 11> **说明**: 12> 13> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 本模块接口仅可在Stage模型下使用。 16> 17> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin-2)后调用。 18> 19> 当前页面仅包含本模块的系统接口,其他公开接口参见。其他公开接口参见[@ohos.enterprise.usbManager](js-apis-enterprise-usbManager.md)。 20 21## 导入模块 22 23```ts 24import { usbManager } from '@kit.MDMKit'; 25``` 26 27## usbManager.setUsbPolicy 28 29setUsbPolicy(admin: Want, usbPolicy: UsbPolicy, callback: AsyncCallback\<void>): void 30 31设置USB的读写策略。使用callback异步回调。 32 33**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB 34 35**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 36 37**模型约束:** 此接口仅可在Stage模型下使用。 38 39**系统接口:** 此接口为系统接口。 40 41**参数:** 42 43| 参数名 | 类型 | 必填 | 说明 | 44| ----- | ----------------------------------- | ---- | ------- | 45| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 46| usbPolicy | [UsbPolicy](js-apis-enterprise-usbManager.md#usbpolicy) | 是 | USB读写策略(此接口只支持READ_WRITE和READ_ONLY)。 | 47| callback | AsyncCallback\<void> | 是 | 回调函数。当接口调用成功,err为null,否则为错误对象。 | 48 49**错误码**: 50 51以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 52 53| 错误码ID | 错误信息 | 54| ------- | ---------------------------------------------------------------------------- | 55| 9200001 | The application is not an administrator application of the device. | 56| 9200002 | The administrator application does not have permission to manage the device. | 57| 201 | Permission verification failed. The application does not have the permission required to call the API. | 58| 202 | Permission verification failed. A non-system application calls a system API. | 59| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 60 61**示例:** 62 63```ts 64import { usbManager } from '@kit.MDMKit'; 65import { Want } from '@kit.AbilityKit'; 66 67let wantTemp: Want = { 68 // 需根据实际情况进行替换 69 bundleName: 'com.example.myapplication', 70 abilityName: 'EntryAbility' 71}; 72let policy: usbManager.UsbPolicy = usbManager.UsbPolicy.READ_WRITE; 73 74usbManager.setUsbPolicy(wantTemp, policy, (err) => { 75 if (err) { 76 console.error(`Failed to set usb policy. Code is ${err.code}, message is ${err.message}`); 77 return; 78 } 79 console.info('Succeeded in setting usb policy'); 80}) 81``` 82 83## usbManager.setUsbPolicy 84 85setUsbPolicy(admin: Want, usbPolicy: UsbPolicy): Promise\<void> 86 87设置USB的读写策略。使用Promise异步回调。 88 89**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB 90 91**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 92 93**模型约束:** 此接口仅可在Stage模型下使用。 94 95**系统接口:** 此接口为系统接口。 96 97**参数:** 98 99| 参数名 | 类型 | 必填 | 说明 | 100| ----- | ----------------------------------- | ---- | ------- | 101| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 102| usbPolicy | [UsbPolicy](js-apis-enterprise-usbManager.md#usbpolicy) | 是 | USB读写策略(此接口只支持READ_WRITE和READ_ONLY)。 | 103 104**返回值:** 105 106| 类型 | 说明 | 107| ----- | ----------------------------------- | 108| Promise\<void> | 无返回结果的Promise对象。当设置USB策略失败时抛出错误对象。 | 109 110**错误码**: 111 112以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 113 114| 错误码ID | 错误信息 | 115| ------- | ---------------------------------------------------------------------------- | 116| 9200001 | The application is not an administrator application of the device. | 117| 9200002 | The administrator application does not have permission to manage the device. | 118| 201 | Permission verification failed. The application does not have the permission required to call the API. | 119| 202 | Permission verification failed. A non-system application calls a system API. | 120| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 121 122**示例:** 123 124```ts 125import { usbManager } from '@kit.MDMKit'; 126import { Want } from '@kit.AbilityKit'; 127import { BusinessError } from '@kit.BasicServicesKit'; 128 129let wantTemp: Want = { 130 // 需根据实际情况进行替换 131 bundleName: 'com.example.myapplication', 132 abilityName: 'EntryAbility' 133}; 134let policy: usbManager.UsbPolicy = usbManager.UsbPolicy.READ_WRITE; 135 136usbManager.setUsbPolicy(wantTemp, policy).then(() => { 137 console.info('Succeeded in setting usb policy'); 138}).catch((err: BusinessError) => { 139 console.error(`Failed to set usb policy. Code is ${err.code}, message is ${err.message}`); 140}) 141``` 142 143## usbManager.disableUsb<sup>11+</sup> 144 145disableUsb(admin: Want, disable: boolean): void 146 147设置禁用或启用USB。 148 149**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB 150 151**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 152 153**模型约束:** 此接口仅可在Stage模型下使用。 154 155**系统接口:** 此接口为系统接口。 156 157**参数:** 158 159| 参数名 | 类型 | 必填 | 说明 | 160| ------- | ------------------------------------------------------- | ---- | ------------------------------------------------ | 161| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 162| disable | boolean | 是 | 是否禁用USB设备,true表示禁用,false表示不禁用。 | 163 164**错误码**: 165 166以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 167 168| 错误码ID | 错误信息 | 169| -------- | ------------------------------------------------------------ | 170| 9200001 | The application is not an administrator application of the device. | 171| 9200002 | The administrator application does not have permission to manage the device. | 172| 9200010 | A conflict policy has been configured. | 173| 201 | Permission verification failed. The application does not have the permission required to call the API. | 174| 202 | Permission verification failed. A non-system application calls a system API. | 175| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 176 177**示例:** 178 179```ts 180import { usbManager } from '@kit.MDMKit'; 181import { Want } from '@kit.AbilityKit'; 182 183let wantTemp: Want = { 184 // 需根据实际情况进行替换 185 bundleName: 'com.example.myapplication', 186 abilityName: 'EntryAbility' 187}; 188try { 189 usbManager.disableUsb(wantTemp, true); 190 console.info(`Succeeded in disabling USB`); 191} catch (err) { 192 console.error(`Failed to disabling USB. Code: ${err.code}, message: ${err.message}`); 193} 194``` 195 196## usbManager.isUsbDisabled<sup>11+</sup> 197 198isUsbDisabled(admin: Want): boolean 199 200查询USB是否禁用。 201 202**需要权限:** ohos.permission.ENTERPRISE_MANAGE_USB 203 204**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 205 206**模型约束:** 此接口仅可在Stage模型下使用。 207 208**系统接口:** 此接口为系统接口。 209 210**参数:** 211 212| 参数名 | 类型 | 必填 | 说明 | 213| ------ | ------------------------------------------------------- | ---- | -------------------------------------- | 214| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 215 216**返回值:** 217 218| 类型 | 说明 | 219| ------- | ------------------------------------------------------ | 220| boolean | 返回true表示USB被禁用。<br/>返回false表示USB未被禁用。 | 221 222**错误码**: 223 224以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 225 226| 错误码ID | 错误信息 | 227| -------- | ------------------------------------------------------------ | 228| 9200001 | The application is not an administrator application of the device. | 229| 9200002 | The administrator application does not have permission to manage the device. | 230| 201 | Permission verification failed. The application does not have the permission required to call the API. | 231| 202 | Permission verification failed. A non-system application calls a system API. | 232| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 233 234**示例:** 235 236```ts 237import { usbManager } from '@kit.MDMKit'; 238import { Want } from '@kit.AbilityKit'; 239 240let wantTemp: Want = { 241 // 需根据实际情况进行替换 242 bundleName: 'com.example.myapplication', 243 abilityName: 'EntryAbility' 244}; 245try { 246 let isDisabled = usbManager.isUsbDisabled(wantTemp); 247 console.info(`Succeeded in querying if USB is disabled: ${isDisabled}`); 248} catch (err) { 249 console.error(`Failed to query if USB is disabled. Code: ${err.code}, message: ${err.message}`); 250} 251``` 252