• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.net.policy (网络策略管理)(系统接口)
2
3网络策略管理通过对用户使用数据流量进行控制管理,采用防火墙技术实现网络策略的管理。
4
5> **说明:**
6>
7> 本模块首批接口从 API version 10 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块为系统接口。
9
10## 导入模块
11
12```ts
13import policy from '@ohos.net.policy';
14```
15
16## policy.setBackgroundAllowed<sup>10+</sup>
17
18setBackgroundAllowed(isAllowed: boolean, callback: AsyncCallback\<void>): void
19
20设置是否允许后台应用访问网络,使用 callback 方式作为异步方法。
21
22**系统接口**:此接口为系统接口。
23
24**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
25
26**系统能力**:SystemCapability.Communication.NetManager.Core
27
28**参数:**
29
30| 参数名    | 类型                 | 必填 | 说明                                                         |
31| --------- | -------------------- | ---- | ------------------------------------------------------------ |
32| isAllowed | boolean              | 是   | 是否允许应用后台使用数据                                     |
33| callback  | AsyncCallback\<void> | 是   | 回调函数,成功时,err 为 undefined,失败返回错误码错误信息。 |
34
35**错误码:**
36
37| 错误码 ID | 错误信息                                     |
38| --------- | -------------------------------------------- |
39| 201       | Permission denied.                           |
40| 202       | Non-system applications use system APIs.     |
41| 401       | Parameter error.                             |
42| 2100001   | Invalid parameter value.                     |
43| 2100002   | Operation failed. Cannot connect to service. |
44| 2100003   | System internal error.                       |
45
46**示例:**
47
48```ts
49import { BusinessError } from '@ohos.base';
50policy.setBackgroundAllowed(true, (error: BusinessError) => {
51  console.log(JSON.stringify(error));
52});
53```
54
55## policy.setBackgroundAllowed<sup>10+</sup>
56
57setBackgroundAllowed(isAllowed: boolean): Promise\<void>
58
59设置是否允许后台应用访问网络,使用 Promise 方式作为异步方法。
60
61**系统接口**:此接口为系统接口。
62
63**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
64
65**系统能力**:SystemCapability.Communication.NetManager.Core
66
67**参数:**
68
69| 参数名    | 类型    | 必填 | 说明                     |
70| --------- | ------- | ---- | ------------------------ |
71| isAllowed | boolean | 是   | 是否允许应用后台使用数据 |
72
73**错误码:**
74
75| 错误码 ID | 错误信息                                     |
76| --------- | -------------------------------------------- |
77| 201       | Permission denied.                           |
78| 202       | Non-system applications use system APIs.     |
79| 401       | Parameter error.                             |
80| 2100001   | Invalid parameter value.                     |
81| 2100002   | Operation failed. Cannot connect to service. |
82| 2100003   | System internal error.                       |
83
84**返回值:**
85
86| 类型           | 说明                                                              |
87| -------------- | ----------------------------------------------------------------- |
88| Promise\<void> | 以 Promise 形式返回设定结果,成功返回空,失败返回错误码错误信息。 |
89
90**示例:**
91
92```ts
93import { BusinessError } from '@ohos.base';
94policy.setBackgroundAllowed(true).then(() => {
95  console.log("setBackgroundAllowed success");
96}).catch((error: BusinessError) => {
97  console.log(JSON.stringify(error));
98});
99```
100
101## policy.isBackgroundAllowed<sup>10+</sup>
102
103isBackgroundAllowed(callback: AsyncCallback\<boolean>): void
104
105获取当前应用是否允许后台访问网络,使用 callback 方式作为异步方法。
106
107**系统接口**:此接口为系统接口。
108
109**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
110
111**系统能力**:SystemCapability.Communication.NetManager.Core
112
113**参数:**
114
115| 参数名   | 类型                    | 必填 | 说明                                                             |
116| -------- | ----------------------- | ---- | ---------------------------------------------------------------- |
117| callback | AsyncCallback\<boolean> | 是   | 回调函数,返回 true 代表后台策略为允许。失败返回错误码错误信息。 |
118
119**错误码:**
120
121| 错误码 ID | 错误信息                                     |
122| --------- | -------------------------------------------- |
123| 201       | Permission denied.                           |
124| 202       | Non-system applications use system APIs.     |
125| 401       | Parameter error.                             |
126| 2100001   | Invalid parameter value.                     |
127| 2100002   | Operation failed. Cannot connect to service. |
128| 2100003   | System internal error.                       |
129
130**示例:**
131
132```ts
133import { BusinessError } from '@ohos.base';
134policy.isBackgroundAllowed((error: BusinessError, data: boolean) => {
135  console.log(JSON.stringify(error));
136  console.log(JSON.stringify(data));
137});
138```
139
140## policy.isBackgroundAllowed<sup>10+</sup>
141
142isBackgroundAllowed(): Promise\<boolean>;
143
144获取当前应用是否允许后台访问网络,使用 Promise 方式作为异步方法。
145
146**系统接口**:此接口为系统接口。
147
148**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
149
150**系统能力**:SystemCapability.Communication.NetManager.Core
151
152**返回值:**
153
154| 类型              | 说明                                                                                 |
155| ----------------- | ------------------------------------------------------------------------------------ |
156| Promise\<boolean> | 以 Promise 形式返回设定结果。 返回 true 代表后台策略为允许。失败返回错误码错误信息。 |
157
158**错误码:**
159
160| 错误码 ID | 错误信息                                     |
161| --------- | -------------------------------------------- |
162| 201       | Permission denied.                           |
163| 202       | Non-system applications use system APIs.     |
164| 401       | Parameter error.                             |
165| 2100001   | Invalid parameter value.                     |
166| 2100002   | Operation failed. Cannot connect to service. |
167| 2100003   | System internal error.                       |
168
169**示例:**
170
171```ts
172import { BusinessError } from '@ohos.base';
173policy
174  .isBackgroundAllowed()
175  .then((data: boolean) => {
176    console.log(JSON.stringify(data));
177  })
178  .catch((error: BusinessError) => {
179    console.log(JSON.stringify(error));
180  });
181```
182
183## policy.setPolicyByUid<sup>10+</sup>
184
185setPolicyByUid(uid: number, policy: NetUidPolicy, callback: AsyncCallback\<void>): void
186
187设置对应 uid 应用是否能够访问计量网络的策略,使用 callback 方式作为异步方法。
188
189**系统接口**:此接口为系统接口。
190
191**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
192
193**系统能力**:SystemCapability.Communication.NetManager.Core
194
195**参数:**
196
197| 参数名   | 类型                            | 必填 | 说明                                           |
198| -------- | ------------------------------- | ---- | ---------------------------------------------- |
199| uid      | number                          | 是   | app 唯一标识符                                 |
200| policy   | [NetUidPolicy](#netuidpolicy10) | 是   | 应用对应的策略                                 |
201| callback | AsyncCallback\<void>            | 是   | 回调函数,成功返回空,失败返回错误码错误信息。 |
202
203**错误码:**
204
205| 错误码 ID | 错误信息                                     |
206| --------- | -------------------------------------------- |
207| 201       | Permission denied.                           |
208| 202       | Non-system applications use system APIs.     |
209| 401       | Parameter error.                             |
210| 2100001   | Invalid parameter value.                     |
211| 2100002   | Operation failed. Cannot connect to service. |
212| 2100003   | System internal error.                       |
213
214**示例:**
215
216```ts
217import { BusinessError } from '@ohos.base';
218policy.setPolicyByUid(11111, policy.NetUidPolicy.NET_POLICY_NONE, (error: BusinessError) => {
219  console.log(JSON.stringify(error));
220});
221```
222
223## policy.setPolicyByUid<sup>10+</sup>
224
225setPolicyByUid(uid: number, policy: NetUidPolicy): Promise\<void>;
226
227设置对应 uid 应用是否能够访问计量网络的策略,使用 Promise 方式作为异步方法。
228
229**系统接口**:此接口为系统接口。
230
231**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
232
233**系统能力**:SystemCapability.Communication.NetManager.Core
234
235**参数:**
236
237| 参数名 | 类型                            | 必填 | 说明           |
238| ------ | ------------------------------- | ---- | -------------- |
239| uid    | number                          | 是   | app 唯一标识符 |
240| policy | [NetUidPolicy](#netuidpolicy10) | 是   | 应用对应的策略 |
241
242**返回值:**
243
244| 类型           | 说明                                                              |
245| -------------- | ----------------------------------------------------------------- |
246| Promise\<void> | 以 Promise 形式返回设定结果。成功返回空,失败返回错误码错误信息。 |
247
248**错误码:**
249
250| 错误码 ID | 错误信息                                     |
251| --------- | -------------------------------------------- |
252| 201       | Permission denied.                           |
253| 202       | Non-system applications use system APIs.     |
254| 401       | Parameter error.                             |
255| 2100001   | Invalid parameter value.                     |
256| 2100002   | Operation failed. Cannot connect to service. |
257| 2100003   | System internal error.                       |
258
259**示例:**
260
261```ts
262import { BusinessError } from '@ohos.base';
263policy
264  .setPolicyByUid(11111, policy.NetUidPolicy.NET_POLICY_NONE)
265  .then(() => {
266    console.log('setPolicyByUid success');
267  })
268  .catch((error: BusinessError) => {
269    console.log(JSON.stringify(error));
270  });
271```
272
273## policy.getPolicyByUid<sup>10+</sup>
274
275getPolicyByUid(uid: number, callback: AsyncCallback\<NetUidPolicy>): void
276
277通过应用 uid 获取对应访问网络策略,使用 callback 方式作为异步方法。
278
279**系统接口**:此接口为系统接口。
280
281**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
282
283**系统能力**:SystemCapability.Communication.NetManager.Core
284
285**参数:**
286
287| 参数名   | 类型                                            | 必填 | 说明                                                     |
288| -------- | ----------------------------------------------- | ---- | -------------------------------------------------------- |
289| uid      | number                                          | 是   | app 唯一标识符                                           |
290| callback | AsyncCallback\<[NetUidPolicy](#netuidpolicy10)> | 是   | 回调函数,成功返回获取策略结果,失败返回错误码错误信息。 |
291
292**错误码:**
293
294| 错误码 ID | 错误信息                                     |
295| --------- | -------------------------------------------- |
296| 201       | Permission denied.                           |
297| 202       | Non-system applications use system APIs.     |
298| 401       | Parameter error.                             |
299| 2100001   | Invalid parameter value.                     |
300| 2100002   | Operation failed. Cannot connect to service. |
301| 2100003   | System internal error.                       |
302
303**示例:**
304
305```ts
306import { BusinessError } from '@ohos.base';
307policy.getPolicyByUid(11111, (error: BusinessError, data: policy.NetUidPolicy) => {
308  console.log(JSON.stringify(error));
309  console.log(JSON.stringify(data));
310});
311```
312
313## policy.getPolicyByUid<sup>10+</sup>
314
315getPolicyByUid(uid: number): Promise\<NetUidPolicy>;
316
317通过应用 uid 获取对应访问网络策略,使用 Promise 方式作为异步方法。
318
319**系统接口**:此接口为系统接口。
320
321**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
322
323**系统能力**:SystemCapability.Communication.NetManager.Core
324
325**参数:**
326
327| 参数名 | 类型   | 必填 | 说明           |
328| ------ | ------ | ---- | -------------- |
329| uid    | number | 是   | app 唯一标识符 |
330
331**返回值:**
332
333| 类型                                      | 说明                                                      |
334| ----------------------------------------- | --------------------------------------------------------- |
335| Promise\<[NetUidPolicy](#netuidpolicy10)> | 以 Promise 形式返回获取策略结果。失败返回错误码错误信息。 |
336
337**错误码:**
338
339| 错误码 ID | 错误信息                                     |
340| --------- | -------------------------------------------- |
341| 201       | Permission denied.                           |
342| 202       | Non-system applications use system APIs.     |
343| 401       | Parameter error.                             |
344| 2100001   | Invalid parameter value.                     |
345| 2100002   | Operation failed. Cannot connect to service. |
346| 2100003   | System internal error.                       |
347
348**示例:**
349
350```ts
351import { BusinessError } from '@ohos.base';
352policy
353  .getPolicyByUid(11111)
354  .then((data: policy.NetUidPolicy) => {
355    console.log(JSON.stringify(data));
356  })
357  .catch((error: BusinessError) => {
358    console.log(JSON.stringify(error));
359  });
360```
361
362## policy.getUidsByPolicy<sup>10+</sup>
363
364getUidsByPolicy(policy: NetUidPolicy, callback: AsyncCallback\<Array\<number>>): void
365
366通过策略获取跟策略匹配的所有 uid,使用 callback 方式作为异步方法。
367
368**系统接口**:此接口为系统接口。
369
370**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
371
372**系统能力**:SystemCapability.Communication.NetManager.Core
373
374**参数:**
375
376| 参数名   | 类型                            | 必填 | 说明                                                        |
377| -------- | ------------------------------- | ---- | ----------------------------------------------------------- |
378| policy   | [NetUidPolicy](#netuidpolicy10) | 是   | 应用对应的计量网络下的策略                                  |
379| callback | AsyncCallback\<Array\<number>>  | 是   | 回调函数,成功返回应用的 uid 数组,失败返回错误码错误信息。 |
380
381**错误码:**
382
383| 错误码 ID | 错误信息                                     |
384| --------- | -------------------------------------------- |
385| 201       | Permission denied.                           |
386| 202       | Non-system applications use system APIs.     |
387| 401       | Parameter error.                             |
388| 2100001   | Invalid parameter value.                     |
389| 2100002   | Operation failed. Cannot connect to service. |
390| 2100003   | System internal error.                       |
391
392**示例:**
393
394```ts
395import { BusinessError } from '@ohos.base';
396policy.getUidsByPolicy(11111, (error: BusinessError, data: number[]) => {
397  console.log(JSON.stringify(error));
398  console.log(JSON.stringify(data));
399});
400```
401
402## policy.getUidsByPolicy<sup>10+</sup>
403
404getUidsByPolicy(policy: NetUidPolicy): Promise\<Array\<number>>;
405
406通过策略获取跟策略匹配的所有 uid,使用 Promise 方式作为异步方法。
407
408**系统接口**:此接口为系统接口。
409
410**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
411
412**系统能力**:SystemCapability.Communication.NetManager.Core
413
414**参数:**
415
416| 参数名 | 类型                            | 必填 | 说明                       |
417| ------ | ------------------------------- | ---- | -------------------------- |
418| policy | [NetUidPolicy](#netuidpolicy10) | 是   | app 对应的计量网络下的策略 |
419
420**返回值:**
421
422| 类型                     | 说明                                                         |
423| ------------------------ | ------------------------------------------------------------ |
424| Promise\<Array\<number>> | 以 Promise 形式返回应用的 uid 数组,失败返回错误码错误信息。 |
425
426**错误码:**
427
428| 错误码 ID | 错误信息                                     |
429| --------- | -------------------------------------------- |
430| 201       | Permission denied.                           |
431| 202       | Non-system applications use system APIs.     |
432| 401       | Parameter error.                             |
433| 2100001   | Invalid parameter value.                     |
434| 2100002   | Operation failed. Cannot connect to service. |
435| 2100003   | System internal error.                       |
436
437**示例:**
438
439```ts
440import { BusinessError } from '@ohos.base';
441policy
442  .getUidsByPolicy(11111)
443  .then((data: object) => {
444    console.log(JSON.stringify(data));
445  })
446  .catch((error: BusinessError) => {
447    console.log(JSON.stringify(error));
448  });
449```
450
451## policy.getNetQuotaPolicies<sup>10+</sup>
452
453getNetQuotaPolicies(callback: AsyncCallback\<Array\<NetQuotaPolicy>>): void
454
455获取计量网络策略,使用 callback 方式作为异步方法。
456
457**系统接口**:此接口为系统接口。
458
459**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
460
461**系统能力**:SystemCapability.Communication.NetManager.Core
462
463**参数:**
464
465| 参数名   | 类型                                                        | 必填 | 说明                     |
466| -------- | ----------------------------------------------------------- | ---- | ------------------------ |
467| callback | AsyncCallback\<Array\<[NetQuotaPolicy](#netquotapolicy10)>> | 是   | 回调函数,返回获取结果。 |
468
469**错误码:**
470
471| 错误码 ID | 错误信息                                     |
472| --------- | -------------------------------------------- |
473| 201       | Permission denied.                           |
474| 202       | Non-system applications use system APIs.     |
475| 401       | Parameter error.                             |
476| 2100001   | Invalid parameter value.                     |
477| 2100002   | Operation failed. Cannot connect to service. |
478| 2100003   | System internal error.                       |
479
480**示例:**
481
482```ts
483import { BusinessError } from '@ohos.base';
484policy.getNetQuotaPolicies((error: BusinessError, data: policy.NetQuotaPolicy[]) => {
485  console.log(JSON.stringify(error));
486  console.log(JSON.stringify(data));
487});
488```
489
490## policy.getNetQuotaPolicies<sup>10+</sup>
491
492getNetQuotaPolicies(): Promise\<Array\<NetQuotaPolicy>>;
493
494获取计量网络策略,使用 Promise 方式作为异步方法。
495
496**系统接口**:此接口为系统接口。
497
498**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
499
500**系统能力**:SystemCapability.Communication.NetManager.Core
501
502**返回值:**
503
504| 类型                                                  | 说明                          |
505| ----------------------------------------------------- | ----------------------------- |
506| Promise\<Array\<[NetQuotaPolicy](#netquotapolicy10)>> | 以 Promise 形式返回设定结果。 |
507
508**错误码:**
509
510| 错误码 ID | 错误信息                                     |
511| --------- | -------------------------------------------- |
512| 201       | Permission denied.                           |
513| 202       | Non-system applications use system APIs.     |
514| 401       | Parameter error.                             |
515| 2100002   | Operation failed. Cannot connect to service. |
516| 2100003   | System internal error.                       |
517
518**示例:**
519
520```ts
521import { BusinessError } from '@ohos.base';
522policy
523  .getNetQuotaPolicies()
524  .then((data: policy.NetQuotaPolicy[]) => {
525    console.log(JSON.stringify(data));
526  })
527  .catch((error: BusinessError) => {
528    console.log(JSON.stringify(error));
529  });
530```
531
532## policy.setNetQuotaPolicies<sup>10+</sup>
533
534setNetQuotaPolicies(quotaPolicies: Array\<NetQuotaPolicy>, callback: AsyncCallback\<void>): void
535
536设置计量网络策略,使用 callback 方式作为异步方法。
537
538**系统接口**:此接口为系统接口。
539
540**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
541
542**系统能力**:SystemCapability.Communication.NetManager.Core
543
544**参数:**
545
546| 参数名        | 类型                                        | 必填 | 说明                                           |
547| ------------- | ------------------------------------------- | ---- | ---------------------------------------------- |
548| quotaPolicies | Array\<[NetQuotaPolicy](#netquotapolicy10)> | 是   | 计量网络策略                                   |
549| callback      | AsyncCallback\<void>                        | 是   | 回调函数,成功返回空,失败返回错误码错误信息。 |
550
551**错误码:**
552
553| 错误码 ID | 错误信息                                     |
554| --------- | -------------------------------------------- |
555| 201       | Permission denied.                           |
556| 202       | Non-system applications use system APIs.     |
557| 401       | Parameter error.                             |
558| 2100001   | Invalid parameter value.                     |
559| 2100002   | Operation failed. Cannot connect to service. |
560| 2100003   | System internal error.                       |
561
562**示例:**
563
564```ts
565import connection from '@ohos.net.connection';
566import { BusinessError } from '@ohos.base';
567
568let netQuotaPolicyList: Array<policy.NetQuotaPolicy> = [];
569let netquotapolicy: policy.NetQuotaPolicy = {
570  networkMatchRule: {
571    netType: connection.NetBearType.BEARER_CELLULAR,
572    identity: '',
573    simId: '1'
574  },
575  quotaPolicy: {
576    periodDuration: 'M1',
577    warningBytes: 40000,
578    limitBytes: 50000,
579    metered: true,
580    limitAction: policy.LimitAction.LIMIT_ACTION_NONE
581  }
582}
583netQuotaPolicyList.push(netquotapolicy);
584
585policy.setNetQuotaPolicies(netQuotaPolicyList, (error: BusinessError) => {
586  console.log(JSON.stringify(error));
587});
588```
589
590## policy.setNetQuotaPolicies<sup>10+</sup>
591
592setNetQuotaPolicies(quotaPolicies: Array\<NetQuotaPolicy>): Promise\<void>;
593
594设置计量网络策略,使用 Promise 方式作为异步方法。
595
596**系统接口**:此接口为系统接口。
597
598**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
599
600**系统能力**:SystemCapability.Communication.NetManager.Core
601
602**参数:**
603
604| 参数名        | 类型                                        | 必填 | 说明         |
605| ------------- | ------------------------------------------- | ---- | ------------ |
606| quotaPolicies | Array\<[NetQuotaPolicy](#netquotapolicy10)> | 是   | 计量网络策略 |
607
608**错误码:**
609
610| 错误码 ID | 错误信息                                     |
611| --------- | -------------------------------------------- |
612| 201       | Permission denied.                           |
613| 202       | Non-system applications use system APIs.     |
614| 401       | Parameter error.                             |
615| 2100001   | Invalid parameter value.                     |
616| 2100002   | Operation failed. Cannot connect to service. |
617| 2100003   | System internal error.                       |
618
619**返回值:**
620
621| 类型           | 说明                                                              |
622| -------------- | ----------------------------------------------------------------- |
623| Promise\<void> | 以 Promise 形式返回设定结果。成功返回空,失败返回错误码错误信息。 |
624
625**示例:**
626
627```ts
628import connection from '@ohos.net.connection';
629import { BusinessError } from '@ohos.base';
630
631let netQuotaPolicyList: Array<policy.NetQuotaPolicy> = [];
632let netquotapolicy: policy.NetQuotaPolicy = {
633  networkMatchRule: {
634    netType: connection.NetBearType.BEARER_CELLULAR,
635    identity: '',
636    simId: '1'
637  },
638  quotaPolicy: {
639    periodDuration: 'M1',
640    warningBytes: 40000,
641    limitBytes: 50000,
642    metered: true,
643    limitAction: policy.LimitAction.LIMIT_ACTION_NONE
644  }
645}
646netQuotaPolicyList.push(netquotapolicy);
647
648policy
649  .setNetQuotaPolicies(netQuotaPolicyList)
650  .then(() => {
651    console.log('setNetQuotaPolicies success');
652  })
653  .catch((error: BusinessError) => {
654    console.log(JSON.stringify(error));
655  });
656```
657
658## policy.isUidNetAllowed<sup>10+</sup>
659
660isUidNetAllowed(uid: number, isMetered: boolean, callback: AsyncCallback\<boolean>): void
661
662判断对应 uid 能否访问计量或非计量网络,使用 callback 方式作为异步方法。
663
664**系统接口**:此接口为系统接口。
665
666**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
667
668**系统能力**:SystemCapability.Communication.NetManager.Core
669
670**参数:**
671
672| 参数名    | 类型                    | 必填 | 说明                                                      |
673| --------- | ----------------------- | ---- | --------------------------------------------------------- |
674| uid       | number                  | 是   | app 唯一标识符                                            |
675| isMetered | boolean                 | 是   | 是否为计量网络                                            |
676| callback  | AsyncCallback\<boolean> | 是   | 回调函数,返回 true 表示这个 uid 可以访问对应的计量网络。 |
677
678**错误码:**
679
680| 错误码 ID | 错误信息                                     |
681| --------- | -------------------------------------------- |
682| 201       | Permission denied.                           |
683| 202       | Non-system applications use system APIs.     |
684| 401       | Parameter error.                             |
685| 2100001   | Invalid parameter value.                     |
686| 2100002   | Operation failed. Cannot connect to service. |
687| 2100003   | System internal error.                       |
688
689**示例:**
690
691```ts
692import { BusinessError } from '@ohos.base';
693policy.isUidNetAllowed(11111, true, (error: BusinessError, data: boolean) => {
694  console.log(JSON.stringify(error));
695  console.log(JSON.stringify(data));
696});
697```
698
699## policy.isUidNetAllowed<sup>10+</sup>
700
701isUidNetAllowed(uid: number, isMetered: boolean): Promise\<boolean>;
702
703判断对应 uid 能否访问计量或非计量网络,使用 Promise 方式作为异步方法。
704
705**系统接口**:此接口为系统接口。
706
707**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
708
709**系统能力**:SystemCapability.Communication.NetManager.Core
710
711**参数:**
712
713| 参数名    | 类型    | 必填 | 说明           |
714| --------- | ------- | ---- | -------------- |
715| uid       | number  | 是   | app 唯一标识符 |
716| isMetered | boolean | 是   | 是否为计量网络 |
717
718**返回值:**
719
720| 类型              | 说明                          |
721| ----------------- | ----------------------------- |
722| Promise\<boolean> | 以 Promise 形式返回设定结果。 |
723
724**错误码:**
725
726| 错误码 ID | 错误信息                                     |
727| --------- | -------------------------------------------- |
728| 201       | Permission denied.                           |
729| 202       | Non-system applications use system APIs.     |
730| 401       | Parameter error.                             |
731| 2100001   | Invalid parameter value.                     |
732| 2100002   | Operation failed. Cannot connect to service. |
733| 2100003   | System internal error.                       |
734
735**示例:**
736
737```ts
738import { BusinessError } from '@ohos.base';
739policy
740  .isUidNetAllowed(11111, true)
741  .then((data: boolean) => {
742    console.log(JSON.stringify(data));
743  })
744  .catch((error: BusinessError) => {
745    console.log(JSON.stringify(error));
746  });
747```
748
749## policy.isUidNetAllowed<sup>10+</sup>
750
751isUidNetAllowed(uid: number, iface: string, callback: AsyncCallback\<boolean>): void
752
753获取对应 uid 能否访问指定的 iface 的网络,使用 callback 方式作为异步方法。
754
755**系统接口**:此接口为系统接口。
756
757**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
758
759**系统能力**:SystemCapability.Communication.NetManager.Core
760
761**参数:**
762
763| 参数名   | 类型                    | 必填 | 说明                                                         |
764| -------- | ----------------------- | ---- | ------------------------------------------------------------ |
765| uid      | number                  | 是   | app 唯一标识符                                               |
766| iface    | string                  | 是   | 网络对应的名称                                               |
767| callback | AsyncCallback\<boolean> | 是   | 回调函数,返回 true 表示这个 uid 可以访问对应 iface 的网络。 |
768
769**错误码:**
770
771| 错误码 ID | 错误信息                                     |
772| --------- | -------------------------------------------- |
773| 201       | Permission denied.                           |
774| 202       | Non-system applications use system APIs.     |
775| 401       | Parameter error.                             |
776| 2100001   | Invalid parameter value.                     |
777| 2100002   | Operation failed. Cannot connect to service. |
778| 2100003   | System internal error.                       |
779
780**示例:**
781
782```ts
783import { BusinessError } from '@ohos.base';
784policy.isUidNetAllowed(11111, 'wlan0', (error: BusinessError, data: boolean) => {
785  console.log(JSON.stringify(error));
786  console.log(JSON.stringify(data));
787});
788```
789
790## policy.isUidNetAllowed<sup>10+</sup>
791
792isUidNetAllowed(uid: number, iface: string): Promise\<boolean>;
793
794获取对应 uid 能否访问指定的 iface 的网络,使用 Promise 方式作为异步方法。
795
796**系统接口**:此接口为系统接口。
797
798**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
799
800**系统能力**:SystemCapability.Communication.NetManager.Core
801
802**参数:**
803
804| 参数名 | 类型   | 必填 | 说明           |
805| ------ | ------ | ---- | -------------- |
806| uid    | number | 是   | app 唯一标识符 |
807| iface  | string | 是   | 网络对应的名称 |
808
809**返回值:**
810
811| 类型              | 说明                                                    |
812| ----------------- | ------------------------------------------------------- |
813| Promise\<boolean> | 以 Promise 形式返回当前 uid 能否访问对应 iface 的网络。 |
814
815**错误码:**
816
817| 错误码 ID | 错误信息                                     |
818| --------- | -------------------------------------------- |
819| 201       | Permission denied.                           |
820| 202       | Non-system applications use system APIs.     |
821| 401       | Parameter error.                             |
822| 2100001   | Invalid parameter value.                     |
823| 2100002   | Operation failed. Cannot connect to service. |
824| 2100003   | System internal error.                       |
825
826**示例:**
827
828```ts
829import { BusinessError } from '@ohos.base';
830policy
831  .isUidNetAllowed(11111, 'wlan0')
832  .then((data: boolean) => {
833    console.log(JSON.stringify(data));
834  })
835  .catch((error: BusinessError) => {
836    console.log(JSON.stringify(error));
837  });
838```
839
840## policy.setDeviceIdleTrustlist<sup>10+</sup>
841
842setDeviceIdleTrustlist(uids: Array\<number>, isAllowed: boolean, callback: AsyncCallback\<void>): void
843
844设置多个 uid 是否在休眠防火墙的白名单,使用 callback 方式作为异步方法。
845
846**系统接口**:此接口为系统接口。
847
848**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
849
850**系统能力**:SystemCapability.Communication.NetManager.Core
851
852**参数:**
853
854| 参数名    | 类型                           | 必填 | 说明                                           |
855| --------- | ------------------------------ | ---- | ---------------------------------------------- |
856| uids      | Array\<number>                 | 是   | app 唯一标识符                                 |
857| isAllowed | boolean                        | 是   | 是否加入白名单                                 |
858| callback  | callback: AsyncCallback\<void> | 是   | 回调函数,成功返回空,失败返回错误码错误信息。 |
859
860**错误码:**
861
862| 错误码 ID | 错误信息                                     |
863| --------- | -------------------------------------------- |
864| 201       | Permission denied.                           |
865| 202       | Non-system applications use system APIs.     |
866| 401       | Parameter error.                             |
867| 2100001   | Invalid parameter value.                     |
868| 2100002   | Operation failed. Cannot connect to service. |
869| 2100003   | System internal error.                       |
870
871**示例:**
872
873```ts
874import { BusinessError } from '@ohos.base';
875policy.setDeviceIdleTrustlist([11111, 22222], true, (error: BusinessError) => {
876  console.log(JSON.stringify(error));
877});
878```
879
880## policy.setDeviceIdleTrustlist<sup>10+</sup>
881
882setDeviceIdleTrustlist(uids: Array\<number>, isAllowed: boolean): Promise\<void>;
883
884设置多个 uid 是否在休眠防火墙的白名单,使用 Promise 方式作为异步方法。
885
886**系统接口**:此接口为系统接口。
887
888**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
889
890**系统能力**:SystemCapability.Communication.NetManager.Core
891
892**参数:**
893
894| 参数名    | 类型           | 必填 | 说明           |
895| --------- | -------------- | ---- | -------------- |
896| uids      | Array\<number> | 是   | app 唯一标识符 |
897| isAllowed | boolean        | 是   | 是否加入白名单 |
898
899**返回值:**
900
901| 类型           | 说明                                                              |
902| -------------- | ----------------------------------------------------------------- |
903| Promise\<void> | 以 Promise 形式返回设定结果。成功返回空,失败返回错误码错误信息。 |
904
905**错误码:**
906
907| 错误码 ID | 错误信息                                     |
908| --------- | -------------------------------------------- |
909| 201       | Permission denied.                           |
910| 202       | Non-system applications use system APIs.     |
911| 401       | Parameter error.                             |
912| 2100001   | Invalid parameter value.                     |
913| 2100002   | Operation failed. Cannot connect to service. |
914| 2100003   | System internal error.                       |
915
916**示例:**
917
918```ts
919import { BusinessError } from '@ohos.base';
920policy
921  .setDeviceIdleTrustlist([11111, 22222], true)
922  .then(() => {
923    console.log('setDeviceIdleTrustlist success');
924  })
925  .catch((error: BusinessError) => {
926    console.log(JSON.stringify(error));
927  });
928```
929
930## policy.getDeviceIdleTrustlist<sup>10+</sup>
931
932getDeviceIdleTrustlist(callback: AsyncCallback\<Array\<number>>): void
933
934获取休眠模式白名单所包含的 uid,使用 callback 方式作为异步方法。
935
936**系统接口**:此接口为系统接口。
937
938**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
939
940**系统能力**:SystemCapability.Communication.NetManager.Core
941
942**参数:**
943
944| 参数名   | 类型                           | 必填 | 说明                     |
945| -------- | ------------------------------ | ---- | ------------------------ |
946| callback | AsyncCallback\<Array\<number>> | 是   | 回调函数,返回获取结果。 |
947
948**错误码:**
949
950| 错误码 ID | 错误信息                                     |
951| --------- | -------------------------------------------- |
952| 201       | Permission denied.                           |
953| 202       | Non-system applications use system APIs.     |
954| 401       | Parameter error.                             |
955| 2100001   | Invalid parameter value.                     |
956| 2100002   | Operation failed. Cannot connect to service. |
957| 2100003   | System internal error.                       |
958
959**示例:**
960
961```ts
962import { BusinessError } from '@ohos.base';
963policy.getDeviceIdleTrustlist((error: BusinessError, data: number[]) => {
964  console.log(JSON.stringify(error));
965  console.log(JSON.stringify(data));
966});
967```
968
969## policy.getDeviceIdleTrustlist<sup>10+</sup>
970
971getDeviceIdleTrustlist(): Promise\<Array\<number>>;
972
973获取休眠模式白名单所包含的 uid,使用 Promise 方式作为异步方法。
974
975**系统接口**:此接口为系统接口。
976
977**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
978
979**系统能力**:SystemCapability.Communication.NetManager.Core
980
981**返回值:**
982
983| 类型                     | 说明                          |
984| ------------------------ | ----------------------------- |
985| Promise\<Array\<number>> | 以 Promise 形式返回设定结果。 |
986
987**错误码:**
988
989| 错误码 ID | 错误信息                                     |
990| --------- | -------------------------------------------- |
991| 201       | Permission denied.                           |
992| 202       | Non-system applications use system APIs.     |
993| 401       | Parameter error.                             |
994| 2100002   | Operation failed. Cannot connect to service. |
995| 2100003   | System internal error.                       |
996
997**示例:**
998
999```ts
1000import { BusinessError } from '@ohos.base';
1001policy
1002  .getDeviceIdleTrustlist()
1003  .then((data: number[]) => {
1004    console.log(JSON.stringify(data));
1005  })
1006  .catch((error: BusinessError) => {
1007    console.log(JSON.stringify(error));
1008  });
1009```
1010
1011## policy.getBackgroundPolicyByUid<sup>10+</sup>
1012
1013getBackgroundPolicyByUid(uid: number, callback: AsyncCallback\<NetBackgroundPolicy>): void
1014
1015获取指定 uid 是否能访问后台网络,使用 callback 方式作为异步方法。
1016
1017**系统接口**:此接口为系统接口。
1018
1019**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1020
1021**系统能力**:SystemCapability.Communication.NetManager.Core
1022
1023**参数:**
1024
1025| 参数名   | 类型                                                          | 必填 | 说明                     |
1026| -------- | ------------------------------------------------------------- | ---- | ------------------------ |
1027| uid      | number                                                        | 是   | app 唯一标识符           |
1028| callback | AsyncCallback\<[NetBackgroundPolicy](#netbackgroundpolicy10)> | 是   | 回调函数,返回获取结果。 |
1029
1030**错误码:**
1031
1032| 错误码 ID | 错误信息                                     |
1033| --------- | -------------------------------------------- |
1034| 201       | Permission denied.                           |
1035| 202       | Non-system applications use system APIs.     |
1036| 401       | Parameter error.                             |
1037| 2100001   | Invalid parameter value.                     |
1038| 2100002   | Operation failed. Cannot connect to service. |
1039| 2100003   | System internal error.                       |
1040
1041**示例:**
1042
1043```ts
1044import { BusinessError } from '@ohos.base';
1045policy.getBackgroundPolicyByUid(11111, (error: BusinessError, data: policy.NetBackgroundPolicy) => {
1046  console.log(JSON.stringify(error));
1047  console.log(JSON.stringify(data));
1048});
1049```
1050
1051## policy.getBackgroundPolicyByUid<sup>10+</sup>
1052
1053getBackgroundPolicyByUid(uid: number): Promise\<NetBackgroundPolicy>;
1054
1055获取指定 uid 能否访问后台网络,使用 Promise 方式作为异步方法。
1056
1057**系统接口**:此接口为系统接口。
1058
1059**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1060
1061**系统能力**:SystemCapability.Communication.NetManager.Core
1062
1063**参数:**
1064
1065| 参数名 | 类型   | 必填 | 说明           |
1066| ------ | ------ | ---- | -------------- |
1067| uid    | number | 是   | app 唯一标识符 |
1068
1069**返回值:**
1070
1071| 类型                                                    | 说明                          |
1072| ------------------------------------------------------- | ----------------------------- |
1073| Promise\<[NetBackgroundPolicy](#netbackgroundpolicy10)> | 以 Promise 形式返回设定结果。 |
1074
1075**错误码:**
1076
1077| 错误码 ID | 错误信息                                     |
1078| --------- | -------------------------------------------- |
1079| 201       | Permission denied.                           |
1080| 202       | Non-system applications use system APIs.     |
1081| 401       | Parameter error.                             |
1082| 2100001   | Invalid parameter value.                     |
1083| 2100002   | Operation failed. Cannot connect to service. |
1084| 2100003   | System internal error.                       |
1085
1086**示例:**
1087
1088```ts
1089import { BusinessError } from '@ohos.base';
1090policy
1091  .getBackgroundPolicyByUid(11111)
1092  .then((data: policy.NetBackgroundPolicy) => {
1093    console.log(JSON.stringify(data));
1094  })
1095  .catch((error: BusinessError) => {
1096    console.log(JSON.stringify(error));
1097  });
1098```
1099
1100## policy.resetPolicies<sup>10+</sup>
1101
1102resetPolicies(simId: string, callback: AsyncCallback\<void>): void
1103
1104重置对应 sim 卡 id 的蜂窝网络、后台网络策略、防火墙策略、应用对应的策略,使用 callback 方式作为异步方法。
1105
1106**系统接口**:此接口为系统接口。
1107
1108**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1109
1110**系统能力**:SystemCapability.Communication.NetManager.Core
1111
1112**参数:**
1113
1114| 参数名   | 类型                 | 必填 | 说明                                           |
1115| -------- | -------------------- | ---- | ---------------------------------------------- |
1116| simId    | string               | 是   | SIM 卡 ID                                      |
1117| callback | AsyncCallback\<void> | 是   | 回调函数,成功返回空,失败返回错误码错误信息。 |
1118
1119**错误码:**
1120
1121| 错误码 ID | 错误信息                                     |
1122| --------- | -------------------------------------------- |
1123| 201       | Permission denied.                           |
1124| 202       | Non-system applications use system APIs.     |
1125| 401       | Parameter error.                             |
1126| 2100001   | Invalid parameter value.                     |
1127| 2100002   | Operation failed. Cannot connect to service. |
1128| 2100003   | System internal error.                       |
1129
1130**示例:**
1131
1132```ts
1133import { BusinessError } from '@ohos.base';
1134policy.resetPolicies('1', (error: BusinessError) => {
1135  console.log(JSON.stringify(error));
1136});
1137```
1138
1139## policy.resetPolicies<sup>10+</sup>
1140
1141resetPolicies(simId: string): Promise\<void>;
1142
1143重置对应 sim 卡 id 的蜂窝网络、后台网络策略、防火墙策略、应用对应的策略,使用 Promise 方式作为异步方法。
1144
1145**系统接口**:此接口为系统接口。
1146
1147**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1148
1149**系统能力**:SystemCapability.Communication.NetManager.Core
1150
1151**参数:**
1152
1153| 参数名 | 类型   | 必填 | 说明      |
1154| ------ | ------ | ---- | --------- |
1155| simId  | string | 是   | SIM 卡 ID |
1156
1157**返回值:**
1158
1159| 类型           | 说明                                                              |
1160| -------------- | ----------------------------------------------------------------- |
1161| Promise\<void> | 以 Promise 形式返回设定结果。成功返回空,失败返回错误码错误信息。 |
1162
1163**错误码:**
1164
1165| 错误码 ID | 错误信息                                     |
1166| --------- | -------------------------------------------- |
1167| 201       | Permission denied.                           |
1168| 202       | Non-system applications use system APIs.     |
1169| 401       | Parameter error.                             |
1170| 2100001   | Invalid parameter value.                     |
1171| 2100002   | Operation failed. Cannot connect to service. |
1172| 2100003   | System internal error.                       |
1173
1174**示例:**
1175
1176```ts
1177import { BusinessError } from '@ohos.base';
1178policy
1179  .resetPolicies('1')
1180  .then(() => {
1181    console.log('resetPolicies success');
1182  })
1183  .catch((error: BusinessError) => {
1184    console.log(JSON.stringify(error));
1185  });
1186```
1187
1188## policy.updateRemindPolicy<sup>10+</sup>
1189
1190updateRemindPolicy(netType: NetBearType, simId: string, remindType: RemindType, callback: AsyncCallback\<void>): void
1191
1192更新提醒策略,使用 callback 方式作为异步方法。
1193
1194**系统接口**:此接口为系统接口。
1195
1196**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1197
1198**系统能力**:SystemCapability.Communication.NetManager.Core
1199
1200**参数:**
1201
1202| 参数名     | 类型                                                 | 必填 | 说明                                           |
1203| ---------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
1204| netType    | [NetBearType](js-apis-net-connection.md#netbeartype) | 是   | 网络类型                                       |
1205| simId      | string                                               | 是   | SIM 卡 ID                                      |
1206| remindType | [RemindType](#remindtype10)                          | 是   | 提醒类型                                       |
1207| callback   | AsyncCallback\<void>                                 | 是   | 回调函数,成功返回空,失败返回错误码错误信息。 |
1208
1209**错误码:**
1210
1211| 错误码 ID | 错误信息                                     |
1212| --------- | -------------------------------------------- |
1213| 201       | Permission denied.                           |
1214| 202       | Non-system applications use system APIs.     |
1215| 401       | Parameter error.                             |
1216| 2100001   | Invalid parameter value.                     |
1217| 2100002   | Operation failed. Cannot connect to service. |
1218| 2100003   | System internal error.                       |
1219
1220**示例:**
1221
1222```ts
1223import connection from '@ohos.net.connection';
1224import { BusinessError } from '@ohos.base';
1225policy.updateRemindPolicy(
1226  connection.NetBearType.BEARER_CELLULAR,
1227  '1',
1228  policy.RemindType.REMIND_TYPE_WARNING,
1229  (error: BusinessError) => {
1230    console.log(JSON.stringify(error));
1231  }
1232);
1233```
1234
1235## policy.updateRemindPolicy<sup>10+</sup>
1236
1237updateRemindPolicy(netType: NetBearType, simId: string, remindType: RemindType): Promise\<void>;
1238
1239更新提醒策略,使用 Promise 方式作为异步方法。
1240
1241**系统接口**:此接口为系统接口。
1242
1243**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1244
1245**系统能力**:SystemCapability.Communication.NetManager.Core
1246
1247**参数:**
1248
1249| 参数名     | 类型                                                 | 必填 | 说明      |
1250| ---------- | ---------------------------------------------------- | ---- | --------- |
1251| netType    | [NetBearType](js-apis-net-connection.md#netbeartype) | 是   | 网络类型  |
1252| simId      | string                                               | 是   | SIM 卡 ID |
1253| remindType | [RemindType](#remindtype10)                          | 是   | 提醒类型  |
1254
1255**返回值:**
1256
1257| 类型           | 说明                                                              |
1258| -------------- | ----------------------------------------------------------------- |
1259| Promise\<void> | 以 Promise 形式返回设定结果。成功返回空,失败返回错误码错误信息。 |
1260
1261**错误码:**
1262
1263| 错误码 ID | 错误信息                                     |
1264| --------- | -------------------------------------------- |
1265| 201       | Permission denied.                           |
1266| 202       | Non-system applications use system APIs.     |
1267| 401       | Parameter error.                             |
1268| 2100001   | Invalid parameter value.                     |
1269| 2100002   | Operation failed. Cannot connect to service. |
1270| 2100003   | System internal error.                       |
1271
1272**示例:**
1273
1274```ts
1275import connection from '@ohos.net.connection';
1276import { BusinessError } from '@ohos.base';
1277policy
1278  .updateRemindPolicy(
1279    connection.NetBearType.BEARER_CELLULAR,
1280    '1',
1281    policy.RemindType.REMIND_TYPE_WARNING
1282  )
1283  .then(() => {
1284    console.log('updateRemindPolicy success');
1285  })
1286  .catch((error: BusinessError) => {
1287    console.log(JSON.stringify(error));
1288  });
1289```
1290
1291## policy.setPowerSaveTrustlist<sup>10+</sup>
1292
1293setPowerSaveTrustlist(uids: Array\<number>, isAllowed: boolean, callback: AsyncCallback\<void>): void
1294
1295设置指定 uid 应用是否在省电防火墙的白名单,使用 callback 方式作为异步方法。
1296
1297**系统接口**:此接口为系统接口。
1298
1299**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1300
1301**系统能力**:SystemCapability.Communication.NetManager.Core
1302
1303**参数:**
1304
1305| 参数名    | 类型                           | 必填 | 说明                                           |
1306| --------- | ------------------------------ | ---- | ---------------------------------------------- |
1307| uids      | Array\<number>                 | 是   | app 唯一标识符                                 |
1308| isAllowed | boolean                        | 是   | 是否加入白名单                                 |
1309| callback  | callback: AsyncCallback\<void> | 是   | 回调函数,成功返回空,失败返回错误码错误信息。 |
1310
1311**错误码:**
1312
1313| 错误码 ID | 错误信息                                     |
1314| --------- | -------------------------------------------- |
1315| 201       | Permission denied.                           |
1316| 202       | Non-system applications use system APIs.     |
1317| 401       | Parameter error.                             |
1318| 2100001   | Invalid parameter value.                     |
1319| 2100002   | Operation failed. Cannot connect to service. |
1320| 2100003   | System internal error.                       |
1321
1322**示例:**
1323
1324```ts
1325import { BusinessError } from '@ohos.base';
1326policy.setPowerSaveTrustlist([11111, 22222], true, (error: BusinessError) => {
1327  console.log(JSON.stringify(error));
1328});
1329```
1330
1331## policy.setPowerSaveTrustlist<sup>10+</sup>
1332
1333setPowerSaveTrustlist(uids: Array\<number>, isAllowed: boolean): Promise\<void>;
1334
1335设置指定 uid 应用是否在省电防火墙的白名单,使用 Promise 方式作为异步方法。
1336
1337**系统接口**:此接口为系统接口。
1338
1339**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1340
1341**系统能力**:SystemCapability.Communication.NetManager.Core
1342
1343**参数:**
1344
1345| 参数名    | 类型           | 必填 | 说明           |
1346| --------- | -------------- | ---- | -------------- |
1347| uids      | Array\<number> | 是   | app 唯一标识符 |
1348| isAllowed | boolean        | 是   | 是否加入白名单 |
1349
1350**返回值:**
1351
1352| 类型           | 说明                                                              |
1353| -------------- | ----------------------------------------------------------------- |
1354| Promise\<void> | 以 Promise 形式返回设定结果。成功返回空,失败返回错误码错误信息。 |
1355
1356**错误码:**
1357
1358| 错误码 ID | 错误信息                                     |
1359| --------- | -------------------------------------------- |
1360| 201       | Permission denied.                           |
1361| 202       | Non-system applications use system APIs.     |
1362| 401       | Parameter error.                             |
1363| 2100001   | Invalid parameter value.                     |
1364| 2100002   | Operation failed. Cannot connect to service. |
1365| 2100003   | System internal error.                       |
1366
1367**示例:**
1368
1369```ts
1370import { BusinessError } from '@ohos.base';
1371policy
1372  .setPowerSaveTrustlist([11111, 22222], true)
1373  .then(() => {
1374    console.log('setPowerSaveTrustlist success');
1375  })
1376  .catch((error: BusinessError) => {
1377    console.log(JSON.stringify(error));
1378  });
1379```
1380
1381## policy.getPowerSaveTrustlist<sup>10+</sup>
1382
1383getPowerSaveTrustlist(callback: AsyncCallback\<Array\<number>>): void
1384
1385获取省电模式白名单所包含的 uid 数组,使用 callback 方式作为异步方法。
1386
1387**系统接口**:此接口为系统接口。
1388
1389**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1390
1391**系统能力**:SystemCapability.Communication.NetManager.Core
1392
1393**参数:**
1394
1395| 参数名   | 类型                           | 必填 | 说明                     |
1396| -------- | ------------------------------ | ---- | ------------------------ |
1397| callback | AsyncCallback\<Array\<number>> | 是   | 回调函数,返回获取结果。 |
1398
1399**错误码:**
1400
1401| 错误码 ID | 错误信息                                     |
1402| --------- | -------------------------------------------- |
1403| 201       | Permission denied.                           |
1404| 202       | Non-system applications use system APIs.     |
1405| 401       | Parameter error.                             |
1406| 2100001   | Invalid parameter value.                     |
1407| 2100002   | Operation failed. Cannot connect to service. |
1408| 2100003   | System internal error.                       |
1409
1410**示例:**
1411
1412```ts
1413import { BusinessError } from '@ohos.base';
1414policy.getPowerSaveTrustlist((error: BusinessError, data: number[]) => {
1415  console.log(JSON.stringify(error));
1416  console.log(JSON.stringify(data));
1417});
1418```
1419
1420## policy.getPowerSaveTrustlist<sup>10+</sup>
1421
1422getPowerSaveTrustlist(): Promise\<Array\<number>>;
1423
1424获取休眠模式白名单所包含的 uid 数组,使用 Promise 方式作为异步方法。
1425
1426**系统接口**:此接口为系统接口。
1427
1428**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1429
1430**系统能力**:SystemCapability.Communication.NetManager.Core
1431
1432**返回值:**
1433
1434| 类型                     | 说明                          |
1435| ------------------------ | ----------------------------- |
1436| Promise\<Array\<number>> | 以 Promise 形式返回设定结果。 |
1437
1438**错误码:**
1439
1440| 错误码 ID | 错误信息                                     |
1441| --------- | -------------------------------------------- |
1442| 201       | Permission denied.                           |
1443| 202       | Non-system applications use system APIs.     |
1444| 401       | Parameter error.                             |
1445| 2100002   | Operation failed. Cannot connect to service. |
1446| 2100003   | System internal error.                       |
1447
1448**示例:**
1449
1450```ts
1451import { BusinessError } from '@ohos.base';
1452policy
1453  .getPowerSaveTrustlist()
1454  .then((data: number[]) => {
1455    console.log(JSON.stringify(data));
1456  })
1457  .catch((error: BusinessError) => {
1458    console.log(JSON.stringify(error));
1459  });
1460```
1461
1462## policy.on
1463
1464网络策略的句柄。
1465
1466### on('netUidPolicyChange')<sup>10+</sup>
1467
1468on(type: "netUidPolicyChange", callback: Callback\<NetUidPolicyInfo\>): void
1469
1470注册 policy 发生改变时的回调,使用 callback 方式作为异步方法。
1471
1472**系统接口**:此接口为系统接口。
1473
1474**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1475
1476**系统能力**:SystemCapability.Communication.NetManager.Core
1477
1478**参数:**
1479
1480| 参数名   | 类型                                                                | 必填 | 说明                                   |
1481| -------- | ------------------------------------------------------------------- | ---- | -------------------------------------- |
1482| type     | string                                                              | 是   | policy 发生改变的类型                  |
1483| callback | Callback\<[NetUidPolicyInfo](#netuidpolicyinfo11)> | 是   | 回调函数。注册 policy 发生改变时调用。 |
1484
1485**错误码:**
1486
1487| 错误码 ID | 错误信息                                     |
1488| --------- | -------------------------------------------- |
1489| 201       | Permission denied.                           |
1490| 202       | Non-system applications use system APIs.     |
1491| 401       | Parameter error.                             |
1492| 2100001   | Invalid parameter value.                     |
1493| 2100002   | Operation failed. Cannot connect to service. |
1494| 2100003   | System internal error.                       |
1495
1496**示例:**
1497
1498```ts
1499import policy from '@ohos.net.policy';
1500interface Data {
1501  uid: number,
1502  policy: policy.NetUidPolicy
1503}
1504policy.on('netUidPolicyChange', (data: Data) => {
1505  console.log('on netUidPolicyChange: ' + JSON.stringify(data));
1506});
1507```
1508
1509### off('netUidPolicyChange')<sup>10+</sup>
1510
1511off(type: "netUidPolicyChange", callback?: Callback\<NetUidPolicyInfo\>): void
1512
1513注销 policy 发生改变时的回调,使用 callback 方式作为异步方法。
1514
1515**系统接口**:此接口为系统接口。
1516
1517**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1518
1519**系统能力**:SystemCapability.Communication.NetManager.Core
1520
1521**参数:**
1522
1523| 参数名   | 类型                                                                | 必填 | 说明                                   |
1524| -------- | ------------------------------------------------------------------- | ---- | -------------------------------------- |
1525| type     | string                                                              | 是   | policy 发生改变的类型                  |
1526| callback | Callback\<[NetUidPolicyInfo](#netuidpolicyinfo11)> | 否   | 回调函数。注销 policy 发生改变时调用。 |
1527
1528**错误码:**
1529
1530| 错误码 ID | 错误信息                                     |
1531| --------- | -------------------------------------------- |
1532| 201       | Permission denied.                           |
1533| 202       | Non-system applications use system APIs.     |
1534| 401       | Parameter error.                             |
1535| 2100001   | Invalid parameter value.                     |
1536| 2100002   | Operation failed. Cannot connect to service. |
1537| 2100003   | System internal error.                       |
1538
1539**示例:**
1540
1541```ts
1542let callback = (data: object) => {
1543  console.log('on netUidPolicyChange, data:' + JSON.stringify(data));
1544};
1545policy.on('netUidPolicyChange', callback);
1546policy.off('netUidPolicyChange', callback);
1547```
1548
1549### on('netUidRuleChange')<sup>10+</sup>
1550
1551on(type: "netUidRuleChange", callback: Callback\<NetUidRuleInfo\>): void
1552
1553注册 rule 发生改变时的回调,使用 callback 方式作为异步方法。
1554
1555**系统接口**:此接口为系统接口。
1556
1557**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1558
1559**系统能力**:SystemCapability.Communication.NetManager.Core
1560
1561**参数:**
1562
1563| 参数名   | 类型                                                          | 必填 | 说明                                   |
1564| -------- | ------------------------------------------------------------- | ---- | -------------------------------------- |
1565| type     | string                                                        | 是   | rule 发生改变的类型                    |
1566| callback | Callback\<[NetUidRuleInfo](#netuidruleinfo11)> | 是   | 回调函数。注册 rule 发生改变时的调用。 |
1567
1568**错误码:**
1569
1570| 错误码 ID | 错误信息                                     |
1571| --------- | -------------------------------------------- |
1572| 201       | Permission denied.                           |
1573| 202       | Non-system applications use system APIs.     |
1574| 401       | Parameter error.                             |
1575| 2100001   | Invalid parameter value.                     |
1576| 2100002   | Operation failed. Cannot connect to service. |
1577| 2100003   | System internal error.                       |
1578
1579**示例:**
1580
1581```ts
1582policy.on('netUidRuleChange', (data: object) => {
1583  console.log('on netUidRuleChange: ' + JSON.stringify(data));
1584});
1585```
1586
1587### off('netUidRuleChange')<sup>10+</sup>
1588
1589off(type: "netUidRuleChange", callback?: Callback\<NetUidRuleInfo\>): void
1590
1591注销 rule 发生改变时的回调,使用 callback 方式作为异步方法。
1592
1593**系统接口**:此接口为系统接口。
1594
1595**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1596
1597**系统能力**:SystemCapability.Communication.NetManager.Core
1598
1599**参数:**
1600
1601| 参数名   | 类型                                                          | 必填 | 说明                                   |
1602| -------- | ------------------------------------------------------------- | ---- | -------------------------------------- |
1603| type     | string                                                        | 是   | rule 发生改变的类型                    |
1604| callback | Callback\<[NetUidRuleInfo](#netuidruleinfo11)> | 否   | 回调函数。注销 rule 发生改变时的调用。 |
1605
1606**错误码:**
1607
1608| 错误码 ID | 错误信息                                     |
1609| --------- | -------------------------------------------- |
1610| 201       | Permission denied.                           |
1611| 202       | Non-system applications use system APIs.     |
1612| 401       | Parameter error.                             |
1613| 2100001   | Invalid parameter value.                     |
1614| 2100002   | Operation failed. Cannot connect to service. |
1615| 2100003   | System internal error.                       |
1616
1617**示例:**
1618
1619```ts
1620let callback = (data: object) => {
1621  console.log('on netUidRuleChange, data:' + JSON.stringify(data));
1622};
1623policy.on('netUidRuleChange', callback);
1624policy.off('netUidRuleChange', callback);
1625```
1626
1627### on('netMeteredIfacesChange')<sup>10+</sup>
1628
1629on(type: "netMeteredIfacesChange", callback: Callback\<Array\<string>>): void
1630
1631注册计量 iface 发生改变时的回调,使用 callback 方式作为异步方法。
1632
1633**系统接口**:此接口为系统接口。
1634
1635**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1636
1637**系统能力**:SystemCapability.Communication.NetManager.Core
1638
1639**参数:**
1640
1641| 参数名   | 类型                      | 必填 | 说明                                      |
1642| -------- | ------------------------- | ---- | ----------------------------------------- |
1643| type     | string                    | 是   | 计量 iface 发生改变的类型                 |
1644| callback | Callback\<Array\<string>> | 是   | 回调函数。注册计量 iface 发生改变时调用。 |
1645
1646**错误码:**
1647
1648| 错误码 ID | 错误信息                                     |
1649| --------- | -------------------------------------------- |
1650| 201       | Permission denied.                           |
1651| 202       | Non-system applications use system APIs.     |
1652| 401       | Parameter error.                             |
1653| 2100001   | Invalid parameter value.                     |
1654| 2100002   | Operation failed. Cannot connect to service. |
1655| 2100003   | System internal error.                       |
1656
1657**示例:**
1658
1659```ts
1660policy.on('netMeteredIfacesChange', (data: string[]) => {
1661  console.log('on netMeteredIfacesChange: ' + JSON.stringify(data));
1662});
1663```
1664
1665### off('netMeteredIfacesChange')<sup>10+</sup>
1666
1667off(type: "netMeteredIfacesChange", callback?: Callback\<Array\<string>>): void
1668
1669注销计量 iface 发生改变时的回调,使用 callback 方式作为异步方法。
1670
1671**系统接口**:此接口为系统接口。
1672
1673**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1674
1675**系统能力**:SystemCapability.Communication.NetManager.Core
1676
1677**参数:**
1678
1679| 参数名   | 类型                      | 必填 | 说明                                      |
1680| -------- | ------------------------- | ---- | ----------------------------------------- |
1681| type     | string                    | 是   | 计量 iface 发生改变的类型                 |
1682| callback | Callback\<Array\<string>> | 否   | 回调函数。注册计量 iface 发生改变时调用。 |
1683
1684**错误码:**
1685
1686| 错误码 ID | 错误信息                                     |
1687| --------- | -------------------------------------------- |
1688| 201       | Permission denied.                           |
1689| 202       | Non-system applications use system APIs.     |
1690| 401       | Parameter error.                             |
1691| 2100001   | Invalid parameter value.                     |
1692| 2100002   | Operation failed. Cannot connect to service. |
1693| 2100003   | System internal error.                       |
1694
1695**示例:**
1696
1697```ts
1698let callback = (data: string[]) => {
1699  console.log('on netMeteredIfacesChange, data:' + JSON.stringify(data));
1700};
1701policy.on('netMeteredIfacesChange', callback);
1702policy.off('netMeteredIfacesChange', callback);
1703```
1704
1705### on('netQuotaPolicyChange')<sup>10+</sup>
1706
1707on(type: "netQuotaPolicyChange", callback: Callback\<Array\<NetQuotaPolicy>>): void
1708
1709注册计量网络策略发生改变时的回调,使用 callback 方式作为异步方法。
1710
1711**系统接口**:此接口为系统接口。
1712
1713**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1714
1715**系统能力**:SystemCapability.Communication.NetManager.Core
1716
1717**参数:**
1718
1719| 参数名   | 类型                                                   | 必填 | 说明                                       |
1720| -------- | ------------------------------------------------------ | ---- | ------------------------------------------ |
1721| type     | string                                                 | 是   | 计量网络策略发生改变的类型                 |
1722| callback | Callback\<Array\<[NetQuotaPolicy](#netquotapolicy10)>> | 是   | 回调函数。注册计量网络策略发生改变时调用。 |
1723
1724**错误码:**
1725
1726| 错误码 ID | 错误信息                                     |
1727| --------- | -------------------------------------------- |
1728| 201       | Permission denied.                           |
1729| 202       | Non-system applications use system APIs.     |
1730| 401       | Parameter error.                             |
1731| 2100001   | Invalid parameter value.                     |
1732| 2100002   | Operation failed. Cannot connect to service. |
1733| 2100003   | System internal error.                       |
1734
1735**示例:**
1736
1737```ts
1738policy.on('netQuotaPolicyChange', (data: policy.NetQuotaPolicy[]) => {
1739  console.log('on netQuotaPolicyChange: ' + JSON.stringify(data));
1740});
1741```
1742
1743### off('netQuotaPolicyChange')<sup>10+</sup>
1744
1745off(type: "netQuotaPolicyChange", callback?: Callback\<Array\<NetQuotaPolicy>>): void
1746
1747注销计量网络策略发生改变时的回调,使用 callback 方式作为异步方法。
1748
1749**系统接口**:此接口为系统接口。
1750
1751**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1752
1753**系统能力**:SystemCapability.Communication.NetManager.Core
1754
1755**参数:**
1756
1757| 参数名   | 类型                                                   | 必填 | 说明                                       |
1758| -------- | ------------------------------------------------------ | ---- | ------------------------------------------ |
1759| type     | string                                                 | 是   | 计量网络策略发生改变的类型                 |
1760| callback | Callback\<Array\<[NetQuotaPolicy](#netquotapolicy10)>> | 否   | 回调函数。注册计量网络策略发生改变时调用。 |
1761
1762**错误码:**
1763
1764| 错误码 ID | 错误信息                                     |
1765| --------- | -------------------------------------------- |
1766| 201       | Permission denied.                           |
1767| 202       | Non-system applications use system APIs.     |
1768| 401       | Parameter error.                             |
1769| 2100001   | Invalid parameter value.                     |
1770| 2100002   | Operation failed. Cannot connect to service. |
1771| 2100003   | System internal error.                       |
1772
1773**示例:**
1774
1775```ts
1776policy.on('netQuotaPolicyChange', (data: Array<policy.NetQuotaPolicy>) => {
1777  console.log('on netQuotaPolicyChange, data:' + JSON.stringify(data));
1778});
1779policy.off('netQuotaPolicyChange', (data: Array<policy.NetQuotaPolicy>) => {
1780  console.log('on netQuotaPolicyChange, data:' + JSON.stringify(data));
1781});
1782```
1783
1784### on('netBackgroundPolicyChange')<sup>10+</sup>
1785
1786on(type: "netBackgroundPolicyChange", callback: Callback\<boolean>): void
1787
1788注册后台网络策略发生改变时的回调,使用 callback 方式作为异步方法。
1789
1790**系统接口**:此接口为系统接口。
1791
1792**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1793
1794**系统能力**:SystemCapability.Communication.NetManager.Core
1795
1796**参数:**
1797
1798| 参数名   | 类型               | 必填 | 说明                                       |
1799| -------- | ------------------ | ---- | ------------------------------------------ |
1800| type     | string             | 是   | 后台网络策略发生改变的类型                 |
1801| callback | Callback\<boolean> | 是   | 回调函数。注册后台网络策略发生改变时调用。 |
1802
1803**错误码:**
1804
1805| 错误码 ID | 错误信息                                     |
1806| --------- | -------------------------------------------- |
1807| 201       | Permission denied.                           |
1808| 202       | Non-system applications use system APIs.     |
1809| 401       | Parameter error.                             |
1810| 2100001   | Invalid parameter value.                     |
1811| 2100002   | Operation failed. Cannot connect to service. |
1812| 2100003   | System internal error.                       |
1813
1814**示例:**
1815
1816```ts
1817policy.on('netBackgroundPolicyChange', (data: boolean) => {
1818  console.log('on netBackgroundPolicyChange: ' + JSON.stringify(data));
1819});
1820```
1821
1822### off('netBackgroundPolicyChange')<sup>10+</sup>
1823
1824off(type: "netBackgroundPolicyChange", callback?: Callback\<boolean>): void
1825
1826注销后台网络策略发生改变时的回调,使用 callback 方式作为异步方法。
1827
1828**系统接口**:此接口为系统接口。
1829
1830**需要权限**:ohos.permission.MANAGE_NET_STRATEGY
1831
1832**系统能力**:SystemCapability.Communication.NetManager.Core
1833
1834**参数:**
1835
1836| 参数名   | 类型               | 必填 | 说明                                       |
1837| -------- | ------------------ | ---- | ------------------------------------------ |
1838| type     | string             | 是   | 后台网络策略发生改变的类型                 |
1839| callback | Callback\<boolean> | 否   | 回调函数。注册后台网络策略发生改变时调用。 |
1840
1841**错误码:**
1842
1843| 错误码 ID | 错误信息                                     |
1844| --------- | -------------------------------------------- |
1845| 201       | Permission denied.                           |
1846| 202       | Non-system applications use system APIs.     |
1847| 401       | Parameter error.                             |
1848| 2100001   | Invalid parameter value.                     |
1849| 2100002   | Operation failed. Cannot connect to service. |
1850| 2100003   | System internal error.                       |
1851
1852**示例:**
1853
1854```ts
1855let callback = (data: boolean) => {
1856  console.log('on netBackgroundPolicyChange, data:' + JSON.stringify(data));
1857};
1858policy.on('netBackgroundPolicyChange', callback);
1859policy.off('netBackgroundPolicyChange', callback);
1860```
1861
1862## NetBackgroundPolicy<sup>10+</sup>
1863
1864后台网络策略。
1865
1866**系统接口**:此接口为系统接口。
1867
1868**系统能力**:SystemCapability.Communication.NetManager.Core
1869
1870| 名称                            | 值  | 说明                                       |
1871| ------------------------------- | --- | ------------------------------------------ |
1872| NET_BACKGROUND_POLICY_NONE      | 0   | 默认值。                                   |
1873| NET_BACKGROUND_POLICY_ENABLE    | 1   | 应用在后台可以使用计量网路。               |
1874| NET_BACKGROUND_POLICY_DISABLE   | 2   | 应用在后台不可以使用计量网路。             |
1875| NET_BACKGROUND_POLICY_TRUSTLIST | 3   | 只有应用指定的列表在后台可以使用计量网络。 |
1876
1877## NetQuotaPolicy<sup>10+</sup>
1878
1879计量网络策略。
1880
1881**系统接口**:此接口为系统接口。
1882
1883**系统能力**:SystemCapability.Communication.NetManager.Core
1884
1885| 名称             | 类型                                    | 必填 | 说明                             |
1886| ---------------- | --------------------------------------- | ---- | -------------------------------- |
1887| networkMatchRule | [NetworkMatchRule](#networkmatchrule10) | 是   | 网络标识,用来确定设置哪一个网络 |
1888| quotaPolicy      | [QuotaPolicy](#quotapolicy10)           | 是   | 具体的计量网络策略               |
1889
1890## NetworkMatchRule<sup>10+</sup>
1891
1892网络标识,用来确定设置哪一个网络
1893
1894**系统接口**:此接口为系统接口。
1895
1896**系统能力**:SystemCapability.Communication.NetManager.Core
1897
1898| 名称     | 类型                                                 | 必填 | 说明                                                                         |
1899| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------------------------------- |
1900| netType  | [NetBearType](js-apis-net-connection.md#netbeartype) | 是   | 网络类型。                                                                   |
1901| simId    | string                                               | 是   | 计量蜂窝网络的 SIM 卡的标识值。以太网,wifi 网络不会用到                     |
1902| identity | string                                               | 是   | 计量蜂窝网络中配合 simId 联合使用。以太网,wifi 网络单独使用。用于标记类型。 |
1903
1904## QuotaPolicy<sup>10+</sup>
1905
1906计量网络策略
1907
1908**系统接口**:此接口为系统接口。
1909
1910**系统能力**:SystemCapability.Communication.NetManager.Core
1911
1912| 名称              | 类型                          | 必填 | 说明                                                                                     |
1913| ----------------- | ----------------------------- | ---- | ---------------------------------------------------------------------------------------- |
1914| periodDuration    | string                        | 是   | 流量限制计量周期。D1,M1,Y1 分别代表 1 天,1 个月,1 年内流量限制,超出时间则不受限制。 |
1915| warningBytes      | number                        | 是   | 发出警告的流量阈值。                                                                     |
1916| limitBytes        | number                        | 是   | 流量设置的配额。                                                                         |
1917| metered           | string                        | 是   | 是否为计量网络。                                                                         |
1918| limitAction       | [LimitAction](#limitaction10) | 是   | 到达流量限制后的动作。                                                                   |
1919| lastWarningRemind | string                        | 否   | 最新一次发出警告的时间。                                                                 |
1920| lastLimitRemind   | string                        | 否   | 最新一次配额耗尽的时间。                                                                 |
1921
1922## LimitAction<sup>10+</sup>
1923
1924限制动作。
1925
1926**系统接口**:此接口为系统接口。
1927
1928**系统能力**:SystemCapability.Communication.NetManager.Core
1929
1930| 名称                         | 值  | 说明                               |
1931| ---------------------------- | --- | ---------------------------------- |
1932| LIMIT_ACTION_NONE            | -1  | 默认值。                           |
1933| LIMIT_ACTION_ACCESS_DISABLED | 0   | 当配额策略达到限制时,访问被禁用。 |
1934| LIMIT_ACTION_ALERT_ONLY      | 1   | 当配额策略达到限制时,将警告用户。 |
1935
1936## NetUidRule<sup>10+</sup>
1937
1938计量网络规则。
1939
1940**系统接口**:此接口为系统接口。
1941
1942**系统能力**:SystemCapability.Communication.NetManager.Core
1943
1944| 名称                              | 值     | 说明                 |
1945| --------------------------------- | ------ | -------------------- |
1946| NET_RULE_NONE                     | 0      | 默认规则             |
1947| NET_RULE_ALLOW_METERED_FOREGROUND | 1 << 0 | 允许前台访问计量网络 |
1948| NET_RULE_ALLOW_METERED            | 1 << 1 | 允许访问计量网络     |
1949| NET_RULE_REJECT_METERED           | 1 << 2 | 拒绝访问计量网络     |
1950| NET_RULE_ALLOW_ALL                | 1 << 5 | 允许访问所有网络     |
1951| NET_RULE_REJECT_ALL               | 1 << 6 | 拒绝访问所有网络     |
1952
1953## NetUidRuleInfo<sup>11+</sup>
1954
1955生成网络唯一标识
1956
1957**系统接口**:此接口为系统接口。
1958
1959**系统能力**:SystemCapability.Communication.NetManager.Core
1960
1961| 名称              | 类型                           | 必填 | 说明                                      |
1962| ----------------- | ----------------------------- | ---- | ----------------------------------------- |
1963| uid               | number                        | 是   | 流量警告的阈值,默认:DATA_USAGE_UNKNOWN。 |
1964| rule              | [NetUidRule](#netuidrule10)   | 是   | 规定一个UID访问计量网络还是非计量网络。     |
1965
1966## NetUidPolicyInfo<sup>11+</sup>
1967
1968注册网络UID策略变化的回调函数
1969
1970**系统接口**:此接口为系统接口。
1971
1972**系统能力**:SystemCapability.Communication.NetManager.Core
1973
1974| 名称              | 类型                            | 必填 | 说明                                    |
1975| ----------------- | ------------------------------- | ---- | -------------------------------------- |
1976| uid               | number                          | 是   | 流量警告的阈值,默认:DATA_USAGE_UNKNOWN |
1977| policy            | [NetUidPolicy](#netuidpolicy10) | 是   | UID指定了在后台模式下网络访问的策略。    |
1978
1979## RemindType<sup>10+</sup>
1980
1981提醒类型。
1982
1983**系统接口**:此接口为系统接口。
1984
1985**系统能力**:SystemCapability.Communication.NetManager.Core
1986
1987| 名称                | 值  | 说明     |
1988| ------------------- | --- | -------- |
1989| REMIND_TYPE_WARNING | 1   | 警告提醒 |
1990| REMIND_TYPE_LIMIT   | 2   | 限制提醒 |
1991
1992## NetUidPolicy<sup>10+</sup>
1993
1994应用对应的网络策略。
1995
1996**系统接口**:此接口为系统接口。
1997
1998**系统能力**:SystemCapability.Communication.NetManager.Core
1999
2000| 名称                                 | 值     | 说明                       |
2001| ------------------------------------ | ------ | -------------------------- |
2002| NET_POLICY_NONE                      | 0      | 默认网络策略               |
2003| NET_POLICY_ALLOW_METERED_BACKGROUND  | 1 << 0 | 允许应用在后台访问计量网络 |
2004| NET_POLICY_REJECT_METERED_BACKGROUND | 1 << 1 | 拒绝应用在后台访问计量网络 |
2005