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