• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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