1# @ohos.enterprise.wifiManager(WiFi管理)(系统接口)
2
3本模块提供企业设备WiFi管理能力,包括查询WiFi开启状态等。
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.wifiManager](js-apis-enterprise-wifiManager.md)。
14
15## 导入模块
16
17```ts
18import { wifiManager } from '@kit.MDMKit';
19```
20
21## wifiManager.isWifiActive
22
23isWifiActive(admin: Want, callback: AsyncCallback<boolean>): void
24
25指定设备管理应用查询wifi开启状态。使用callback异步回调。
26
27**需要权限:** ohos.permission.ENTERPRISE_SET_WIFI
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| callback | AsyncCallback<boolean>            | 是    | 回调函数,当接口调用成功,err为null,data为boolean值,true表示wifi开启,false表示wifi关闭,否则err为错误对象。       |
39
40**错误码**:
41
42以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
43
44| 错误码ID | 错误信息                                                                       |
45| ------- | ---------------------------------------------------------------------------- |
46| 9200001 | The application is not an administrator application of the device.            |
47| 9200002 | The administrator application does not have permission to manage the device. |
48| 201 | Permission verification failed. The application does not have the permission required to call the API. |
49| 202 | Permission verification failed. A non-system application calls a system API. |
50| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
51
52**示例:**
53
54```ts
55import { Want } from '@kit.AbilityKit';
56let wantTemp: Want = {
57  bundleName: 'com.example.myapplication',
58  abilityName: 'EntryAbility',
59};
60
61wifiManager.isWifiActive(wantTemp, (err, result) => {
62  if (err) {
63    console.error(`Failed to query is wifi active or not. Code: ${err.code}, message: ${err.message}`);
64    return;
65  }
66  console.info(`Succeeded in query is wifi active or not, result : ${result}`);
67});
68```
69
70## wifiManager.isWifiActive
71
72isWifiActive(admin: Want): Promise<boolean>
73
74指定设备管理应用获取wifi开启状态。使用Promise异步回调。
75
76**需要权限:** ohos.permission.ENTERPRISE_SET_WIFI
77
78**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
79
80
81
82**参数:**
83
84| 参数名   | 类型                                  | 必填   | 说明      |
85| ----- | ----------------------------------- | ---- | ------- |
86| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 设备管理应用。 |
87
88**返回值:**
89
90| 类型                   | 说明                      |
91| --------------------- | ------------------------- |
92| Promise<boolean> | Promise结果,返回wifi开启状态,true表示wifi开启,false表示wifi关闭。  |
93
94**错误码**:
95
96以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
97
98| 错误码ID | 错误信息                                                                     |
99| ------- | ---------------------------------------------------------------------------- |
100| 9200001 | The application is not an administrator application of the device.            |
101| 9200002 | The administrator application does not have permission to manage the device. |
102| 201 | Permission verification failed. The application does not have the permission required to call the API. |
103| 202 | Permission verification failed. A non-system application calls a system API. |
104| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
105
106**示例:**
107
108```ts
109import { Want } from '@kit.AbilityKit';
110import { BusinessError } from '@kit.BasicServicesKit';
111let wantTemp: Want = {
112  bundleName: 'com.example.myapplication',
113  abilityName: 'EntryAbility',
114};
115
116wifiManager.isWifiActive(wantTemp).then((result) => {
117  console.info(`Succeeded in query is wifi active or not, result : ${result}`);
118}).catch((err: BusinessError) => {
119  console.error(`Failed to query is wifi active or not. Code: ${err.code}, message: ${err.message}`);
120});
121```
122
123## wifiManager.setWifiProfile
124
125setWifiProfile(admin: Want, profile: WifiProfile, callback: AsyncCallback<void>): void
126
127指定设备管理应用为设备配置wifi,使连接到指定网络。使用callback异步回调。
128
129**需要权限:** ohos.permission.ENTERPRISE_SET_WIFI
130
131**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
132
133
134
135**参数:**
136
137| 参数名      | 类型                                       | 必填   | 说明                       |
138| -------- | ---------------------------------------- | ---- | ------------------------------- |
139| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 设备管理应用。                  |
140| profile    | [WifiProfile](js-apis-enterprise-wifiManager.md#wifiprofile) | 是    | WLAN配置信息。                  |
141| callback | AsyncCallback<void>            | 是    | 回调函数,当接口调用成功,err为null,否则为错误对象。      |
142
143**错误码**:
144
145以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
146
147| 错误码ID | 错误信息                                                                       |
148| ------- | ---------------------------------------------------------------------------- |
149| 9200001 | The application is not an administrator application of the device.            |
150| 9200002 | The administrator application does not have permission to manage the device. |
151| 201 | Permission verification failed. The application does not have the permission required to call the API. |
152| 202 | Permission verification failed. A non-system application calls a system API. |
153| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
154
155**示例:**
156
157```ts
158import { Want } from '@kit.AbilityKit';
159let wantTemp: Want = {
160  bundleName: 'com.example.myapplication',
161  abilityName: 'EntryAbility',
162};
163let profile: wifiManager.WifiProfile = {
164  'ssid': 'name',
165  'preSharedKey': 'passwd',
166  'securityType': wifiManager.WifiSecurityType.WIFI_SEC_TYPE_PSK
167};
168
169wifiManager.setWifiProfile(wantTemp, profile, (err) => {
170  if (err) {
171    console.error(`Failed to set wifi profile. Code: ${err.code}, message: ${err.message}`);
172    return;
173  }
174  console.info('Succeeded in setting wifi profile');
175});
176```
177
178## wifiManager.setWifiProfile
179
180setWifiProfile(admin: Want, profile: WifiProfile): Promise<void>
181
182指定设备管理应用为设备配置wifi,使连接到指定网络。使用Promise异步回调。
183
184**需要权限:** ohos.permission.ENTERPRISE_SET_WIFI
185
186**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
187
188
189
190**参数:**
191
192| 参数名   | 类型                                  | 必填   | 说明      |
193| ----- | ----------------------------------- | ---- | ------- |
194| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 设备管理应用。 |
195| profile    | [WifiProfile](js-apis-enterprise-wifiManager.md#wifiprofile) | 是    | WLAN配置信息。                  |
196
197**返回值:**
198
199| 类型                   | 说明                      |
200| --------------------- | ------------------------- |
201| Promise<void> | 无返回结果的Promise对象。当配置wifi连接到指定网络失败时会抛出错误对象。 |
202
203**错误码**:
204
205以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
206
207| 错误码ID | 错误信息                                                                     |
208| ------- | ---------------------------------------------------------------------------- |
209| 9200001 | The application is not an administrator application of the device.            |
210| 9200002 | The administrator application does not have permission to manage the device. |
211| 201 | Permission verification failed. The application does not have the permission required to call the API. |
212| 202 | Permission verification failed. A non-system application calls a system API. |
213| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
214
215**示例:**
216
217```ts
218import { Want } from '@kit.AbilityKit';
219import { BusinessError } from '@kit.BasicServicesKit';
220let wantTemp: Want = {
221  bundleName: 'com.example.myapplication',
222  abilityName: 'EntryAbility',
223};
224let profile: wifiManager.WifiProfile = {
225  'ssid': 'name',
226  'preSharedKey': 'passwd',
227  'securityType': wifiManager.WifiSecurityType.WIFI_SEC_TYPE_PSK
228};
229
230wifiManager.setWifiProfile(wantTemp, profile).then(() => {
231  console.info('Succeeded in setting wifi profile');
232}).catch((err: BusinessError) => {
233  console.error(`Failed to set wifi profile. Code: ${err.code}, message: ${err.message}`);
234});
235```
236
237## wifiManager.isWifiDisabled<sup>11+</sup>
238
239isWifiDisabled(admin: Want): boolean
240
241指定设备管理应用查询wifi是否被禁用。
242
243**需要权限:** ohos.permission.ENTERPRISE_MANAGE_WIFI
244
245**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
246
247**系统API:** 此接口为系统接口。
248
249**参数:**
250
251| 参数名   | 类型                                  | 必填   | 说明      |
252| ----- | ----------------------------------- | ---- | ------- |
253| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是    | 设备管理应用。 |
254
255**返回值:**
256
257| 类型                   | 说明                      |
258| --------------------- | ------------------------- |
259| boolean | 返回wifi禁用状态,true表示wifi被禁用,false表示wifi未被禁用。 |
260
261**错误码:**
262
263以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
264
265| 错误码ID | 错误信息                                                                     |
266| ------- | ---------------------------------------------------------------------------- |
267| 9200001 | The application is not an administrator application of the device.            |
268| 9200002 | The administrator application does not have permission to manage the device. |
269| 201 | Permission verification failed. The application does not have the permission required to call the API. |
270| 202 | Permission verification failed. A non-system application calls a system API. |
271| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
272
273**示例:**
274
275```ts
276import { Want } from '@kit.AbilityKit';
277let wantTemp: Want = {
278  bundleName: 'com.example.myapplication',
279  abilityName: 'EntryAbility',
280};
281try {
282  let result: boolean = wifiManager.isWifiDisabled(wantTemp);
283  console.info(`Succeeded in query the wifi is disabled or not, result : ${result}`);
284} catch (err) {
285  console.error(`Failed to query the wifi is disabled or not. Code: ${err.code}, message: ${err.message}`);
286};
287```
288
289## wifiManager.setWifiDisabled<sup>11+</sup>
290
291setWifiDisabled(admin: Want, disabled: boolean): void
292
293指定设备管理应用设置禁用wifi策略。
294
295**需要权限:** ohos.permission.ENTERPRISE_MANAGE_WIFI
296
297**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
298
299**系统API:** 此接口为系统接口。
300
301**参数:**
302
303| 参数名     | 类型                                | 必填 | 说明                                      |
304| ---------- | ----------------------------------- | ---- | ----------------------------------------- |
305| admin      | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 设备管理应用。                            |
306| disabled   | boolean                             | 是   | true表示禁用wifi,false表示解除wifi禁用。 |
307
308**错误码:**
309
310以下的错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
311
312| 错误码ID | 错误信息                                                     |
313| -------- | ------------------------------------------------------------ |
314| 9200001  | The application is not an administrator application of the device. |
315| 9200002  | The administrator application does not have permission to manage the device. |
316| 201      | Permission verification failed. The application does not have the permission required to call the API. |
317| 202      | Permission verification failed. A non-system application calls a system API. |
318| 401      | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
319
320**示例:**
321
322```ts
323import { Want } from '@kit.AbilityKit';
324let wantTemp: Want = {
325  bundleName: 'com.example.myapplication',
326  abilityName: 'EntryAbility',
327};
328
329try {
330  wifiManager.setWifiDisabled(wantTemp, true);
331  console.info('Succeeded in set the wifi disabled');
332} catch (err) {
333  console.error(`Failed to set the wifi disabled. Code: ${err.code}, message: ${err.message}`);
334};
335```
336