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