1# @ohos.net.sharing (网络共享管理) 2 3网络共享管理分享设备已有网络给其他连接设备,支持Wi-Fi热点共享、蓝牙共享和USB共享,同时提供网络共享状态、共享流量查询功能。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import sharing from '@ohos.net.sharing' 13``` 14 15## sharing.isSharingSupported 16 17isSharingSupported(callback: AsyncCallback\<boolean>): void 18 19判断是否支持网络共享,使用callback方式作为异步方法。 20 21**系统接口**:此接口为系统接口。 22 23**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 24 25**系统能力**:SystemCapability.Communication.NetManager.NetSharing 26 27**参数:** 28 29| 参数名 | 类型 | 必填 | 说明 | 30| -------- | --------------------------------------- | ---- | ---------- | 31| callback | AsyncCallback\<boolean> | 是 | 回调函数,返回true代表支持网络共享。 | 32 33**错误码:** 34 35| 错误码ID | 错误信息 | 36| ------- | -------------------------------------------- | 37| 201 | Permission denied. | 38| 2200002 | Operation failed. Cannot connect to service. | 39| 2200003 | System internal error. | 40| 2202011 | Cannot get network sharing configuration. | 41 42**示例:** 43 44```js 45sharing.isSharingSupported((error, data) => { 46 console.log(JSON.stringify(error)); 47 console.log(JSON.stringify(data)); 48}); 49``` 50 51## sharing.isSharingSupported 52 53isSharingSupported(): Promise\<boolean> 54 55判断是否支持网络共享,使用Promise方式作为异步方法。 56 57**系统接口**:此接口为系统接口。 58 59**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 60 61**系统能力**:SystemCapability.Communication.NetManager.NetSharing 62 63**返回值:** 64 65| 类型 | 说明 | 66| --------------------------------- | ------------------------------------- | 67| Promise\<boolean> | 以Promise形式返回是否支持共享结果。 | 68 69**错误码:** 70 71| 错误码ID | 错误信息 | 72| ------- | -------------------------------------------- | 73| 201 | Permission denied. | 74| 2200002 | Operation failed. Cannot connect to service. | 75| 2200003 | System internal error. | 76| 2202011 | Cannot get network sharing configuration. | 77 78**示例:** 79 80```js 81sharing.isSharingSupported().then(data => { 82 console.log(JSON.stringify(data)); 83}).catch(error => { 84 console.log(JSON.stringify(error)); 85}); 86``` 87 88## sharing.isSharing 89 90isSharing(callback: AsyncCallback\<boolean>): void 91 92获取当前网络共享状态,使用callback方式作为异步方法。 93 94**系统接口**:此接口为系统接口。 95 96**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 97 98**系统能力**:SystemCapability.Communication.NetManager.NetSharing 99 100**参数:** 101 102| 参数名 | 类型 | 必填 | 说明 | 103| -------- | --------------------------------------- | ---- | ---------- | 104| callback | AsyncCallback\<boolean> | 是 | 回调函数,返回true代表网络共享中。 | 105 106**错误码:** 107 108| 错误码ID | 错误信息 | 109| ------- | -------------------------------------------- | 110| 201 | Permission denied. | 111| 2200002 | Operation failed. Cannot connect to service. | 112| 2200003 | System internal error. | 113 114**示例:** 115 116```js 117sharing.isSharing((error, data) => { 118 console.log(JSON.stringify(error)); 119 console.log(JSON.stringify(data)); 120}); 121``` 122 123## sharing.isSharing 124 125isSharing(): Promise\<boolean> 126 127获取当前网络共享状态,使用Promise方式作为异步方法。 128 129**系统接口**:此接口为系统接口。 130 131**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 132 133**系统能力**:SystemCapability.Communication.NetManager.NetSharing 134 135**返回值:** 136 137| 类型 | 说明 | 138| --------------------------------- | ------------------------------------- | 139| Promise\<boolean> | 以Promise形式返回网络共享状态结果,返回true代表网络共享中。 | 140 141**错误码:** 142 143| 错误码ID | 错误信息 | 144| ------- | -------------------------------------------- | 145| 201 | Permission denied. | 146| 2200002 | Operation failed. Cannot connect to service. | 147| 2200003 | System internal error. | 148 149**示例:** 150 151```js 152sharing.isSharing().then(data => { 153 console.log(JSON.stringify(data)); 154}).catch(error => { 155 console.log(JSON.stringify(error)); 156}); 157``` 158 159## sharing.startSharing 160 161startSharing(type: SharingIfaceType, callback: AsyncCallback\<void>): void 162 163开启指定类型共享,使用callback方式作为异步方法。 164 165**系统接口**:此接口为系统接口。 166 167**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 168 169**系统能力**:SystemCapability.Communication.NetManager.NetSharing 170 171**参数:** 172 173| 参数名 | 类型 | 必填 | 说明 | 174| -------- | --------------------------------------- | ---- | ---------- | 175| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 176| callback | AsyncCallback\<void> | 是 | 回调函数,返回开启网络共享结果。 | 177 178**错误码:** 179 180| 错误码ID | 错误信息 | 181| ------- | -------------------------------------------- | 182| 201 | Permission denied. | 183| 401 | Parameter error. | 184| 2200001 | Invalid parameter value. | 185| 2200002 | Operation failed. Cannot connect to service. | 186| 2200003 | System internal error. | 187| 2202004 | Try to share an unavailable iface. | 188| 2202005 | WiFi sharing failed. | 189| 2202006 | Bluetooth sharing failed. | 190| 2202009 | Network share enable forwarding error. | 191| 2202011 | Cannot get network sharing configuration. | 192 193**示例:** 194 195```js 196import SharingIfaceType from '@ohos.net.sharing' 197 198let SHARING_WIFI = 0; 199sharing.startSharing(SHARING_WIFI, (error) => { 200 console.log(JSON.stringify(error)); 201}); 202``` 203 204## sharing.startSharing 205 206startSharing(type: SharingIfaceType): Promise\<void> 207 208开启指定类型共享,使用Promise方式作为异步方法。 209 210**系统接口**:此接口为系统接口。 211 212**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 213 214**系统能力**:SystemCapability.Communication.NetManager.NetSharing 215 216**参数:** 217 218| 参数名 | 类型 | 必填 | 说明 | 219| -------- | --------------------------------------- | ---- | ---------- | 220| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 221 222**返回值:** 223 224| 类型 | 说明 | 225| --------------------------------- | ------------------------------------- | 226| Promise\<void> | 以Promise形式返回开启共享执行结果。 | 227 228**错误码:** 229 230| 错误码ID | 错误信息 | 231| ------- | -------------------------------------------- | 232| 201 | Permission denied. | 233| 401 | Parameter error. | 234| 2200001 | Invalid parameter value. | 235| 2200002 | Operation failed. Cannot connect to service. | 236| 2200003 | System internal error. | 237| 2202004 | Try to share an unavailable iface. | 238| 2202005 | WiFi sharing failed. | 239| 2202006 | Bluetooth sharing failed. | 240| 2202009 | Network share enable forwarding error. | 241| 2202011 | Cannot get network sharing configuration. | 242 243**示例:** 244 245```js 246import SharingIfaceType from '@ohos.net.sharing' 247 248let SHARING_WIFI = 0; 249sharing.startSharing(SHARING_WIFI).then(() => { 250 console.log("start wifi sharing successful"); 251}).catch(error => { 252 console.log("start wifi sharing failed"); 253}); 254``` 255 256## sharing.stopSharing 257 258stopSharing(type: SharingIfaceType, callback: AsyncCallback\<void>): void 259 260关闭指定类型共享,使用callback方式作为异步方法。 261 262**系统接口**:此接口为系统接口。 263 264**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 265 266**系统能力**:SystemCapability.Communication.NetManager.NetSharing 267 268**参数:** 269 270| 参数名 | 类型 | 必填 | 说明 | 271| -------- | --------------------------------------- | ---- | ---------- | 272| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 273| callback | AsyncCallback\<void> | 是 | 回调函数,返回停止网络共享结果。 | 274 275**错误码:** 276 277| 错误码ID | 错误信息 | 278| ------- | -------------------------------------------- | 279| 201 | Permission denied. | 280| 401 | Parameter error. | 281| 2200001 | Invalid parameter value. | 282| 2200002 | Operation failed. Cannot connect to service. | 283| 2200003 | System internal error. | 284| 2202005 | WiFi sharing failed. | 285| 2202006 | Bluetooth sharing failed. | 286| 2202011 | Cannot get network sharing configuration. | 287 288**示例:** 289 290```js 291import SharingIfaceType from '@ohos.net.sharing' 292 293let SHARING_WIFI = 0; 294sharing.stopSharing(SHARING_WIFI, (error) => { 295 console.log(JSON.stringify(error)); 296}); 297``` 298 299## sharing.stopSharing 300 301stopSharing(type: SharingIfaceType): Promise\<void> 302 303关闭指定类型共享,使用Promise方式作为异步方法。 304 305**系统接口**:此接口为系统接口。 306 307**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 308 309**系统能力**:SystemCapability.Communication.NetManager.NetSharing 310 311**参数:** 312 313| 参数名 | 类型 | 必填 | 说明 | 314| -------- | --------------------------------------- | ---- | ---------- | 315| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 316 317**返回值:** 318 319| 类型 | 说明 | 320| --------------------------------- | ------------------------------------- | 321| Promise\<void> | 以Promise形式返回关闭共享执行结果。 | 322 323**错误码:** 324 325| 错误码ID | 错误信息 | 326| ------- | -------------------------------------------- | 327| 201 | Permission denied. | 328| 401 | Parameter error. | 329| 2200001 | Invalid parameter value. | 330| 2200002 | Operation failed. Cannot connect to service. | 331| 2200003 | System internal error. | 332| 2202005 | WiFi sharing failed. | 333| 2202006 | Bluetooth sharing failed. | 334| 2202011 | Cannot get network sharing configuration. | 335 336**示例:** 337 338```js 339import SharingIfaceType from '@ohos.net.sharing' 340 341let SHARING_WIFI = 0; 342sharing.stopSharing(SHARING_WIFI).then(() => { 343 console.log("stop wifi sharing successful"); 344}).catch(error => { 345 console.log("stop wifi sharing failed"); 346}); 347``` 348 349## sharing.getStatsRxBytes 350 351getStatsRxBytes(callback: AsyncCallback\<number>): void 352 353获取共享网络接收数据量,使用callback方式作为异步方法。 354 355**系统接口**:此接口为系统接口。 356 357**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 358 359**系统能力**:SystemCapability.Communication.NetManager.NetSharing 360 361**参数:** 362 363| 参数名 | 类型 | 必填 | 说明 | 364| -------- | --------------------------------------- | ---- | ---------- | 365| callback | AsyncCallback\<number> | 是 | 回调函数,number代表数据量,单位:KB。 | 366 367**错误码:** 368 369| 错误码ID | 错误信息 | 370| ------- | -------------------------------------------- | 371| 201 | Permission denied. | 372| 2200002 | Operation failed. Cannot connect to service. | 373| 2200003 | System internal error. | 374 375**示例:** 376 377```js 378sharing.getStatsRxBytes((error, data) => { 379 console.log(JSON.stringify(error)); 380 console.log(JSON.stringify(data)); 381}); 382``` 383 384## sharing.getStatsRxBytes 385 386getStatsRxBytes(): Promise\<number> 387 388获取共享网络接收数据量,使用Promise方式作为异步方法。 389 390**系统接口**:此接口为系统接口。 391 392**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 393 394**系统能力**:SystemCapability.Communication.NetManager.NetSharing 395 396**返回值:** 397 398| 类型 | 说明 | 399| --------------------------------- | ------------------------------------- | 400| Promise\<number> | 以Promise形式返回共享网络接收数据量,单位:KB。 | 401 402**错误码:** 403 404| 错误码ID | 错误信息 | 405| ------- | -------------------------------------------- | 406| 201 | Permission denied. | 407| 2200002 | Operation failed. Cannot connect to service. | 408| 2200003 | System internal error. | 409 410**示例:** 411 412```js 413sharing.getStatsRxBytes().then(data => { 414 console.log(JSON.stringify(data)); 415}).catch(error => { 416 console.log(JSON.stringify(error)); 417}); 418``` 419 420## sharing.getStatsTxBytes 421 422getStatsTxBytes(callback: AsyncCallback\<number>): void 423 424获取共享网络发送数据量,使用callback方式作为异步方法。 425 426**系统接口**:此接口为系统接口。 427 428**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 429 430**系统能力**:SystemCapability.Communication.NetManager.NetSharing 431 432**参数:** 433 434| 参数名 | 类型 | 必填 | 说明 | 435| -------- | --------------------------------------- | ---- | ---------- | 436| callback | AsyncCallback\<number> | 是 | 回调函数,number代表数据量,单位:KB。 | 437 438**错误码:** 439 440| 错误码ID | 错误信息 | 441| ------- | -------------------------------------------- | 442| 201 | Permission denied. | 443| 2200002 | Operation failed. Cannot connect to service. | 444| 2200003 | System internal error. | 445 446**示例:** 447 448```js 449sharing.getStatsTxBytes((error, data) => { 450 console.log(JSON.stringify(error)); 451 console.log(JSON.stringify(data)); 452}); 453``` 454 455## sharing.getStatsTxBytes 456 457getStatsTxBytes(): Promise\<number> 458 459获取共享网络发送数据量,使用Promise方式作为异步方法。 460 461**系统接口**:此接口为系统接口。 462 463**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 464 465**系统能力**:SystemCapability.Communication.NetManager.NetSharing 466 467**返回值:** 468 469| 类型 | 说明 | 470| --------------------------------- | ------------------------------------- | 471| Promise\<number> | 以Promise形式返回共享网络发送数据量,单位:KB。 | 472 473**错误码:** 474 475| 错误码ID | 错误信息 | 476| ------- | -------------------------------------------- | 477| 201 | Permission denied. | 478| 2200002 | Operation failed. Cannot connect to service. | 479| 2200003 | System internal error. | 480 481**示例:** 482 483```js 484sharing.getStatsTxBytes().then(data => { 485 console.log(JSON.stringify(data)); 486}).catch(error => { 487 console.log(JSON.stringify(error)); 488}); 489``` 490 491## sharing.getStatsTotalBytes 492 493getStatsTotalBytes(callback: AsyncCallback\<number>): void 494 495获取共享网络总数据量,使用callback方式作为异步方法。 496 497**系统接口**:此接口为系统接口。 498 499**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 500 501**系统能力**:SystemCapability.Communication.NetManager.NetSharing 502 503**参数:** 504 505| 参数名 | 类型 | 必填 | 说明 | 506| -------- | --------------------------------------- | ---- | ---------- | 507| callback | AsyncCallback\<number> | 是 | 回调函数,number代表数据量,单位:KB。 | 508 509**错误码:** 510 511| 错误码ID | 错误信息 | 512| ------- | -------------------------------------------- | 513| 201 | Permission denied. | 514| 2200002 | Operation failed. Cannot connect to service. | 515| 2200003 | System internal error. | 516 517**示例:** 518 519```js 520sharing.getStatsTotalBytes((error, data) => { 521 console.log(JSON.stringify(error)); 522 console.log(JSON.stringify(data)); 523}); 524``` 525 526## sharing.getStatsTotalBytes 527 528getStatsTotalBytes(): Promise\<number> 529 530获取共享网络总数据量,使用Promise方式作为异步方法。 531 532**系统接口**:此接口为系统接口。 533 534**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 535 536**系统能力**:SystemCapability.Communication.NetManager.NetSharing 537 538**返回值:** 539 540| 类型 | 说明 | 541| --------------------------------- | ------------------------------------- | 542| Promise\<number> | 以Promise形式返回共享网络总数据量,单位:KB。 | 543 544**错误码:** 545 546| 错误码ID | 错误信息 | 547| ------- | -------------------------------------------- | 548| 201 | Permission denied. | 549| 2200002 | Operation failed. Cannot connect to service. | 550| 2200003 | System internal error. | 551 552**示例:** 553 554```js 555sharing.getStatsTotalBytes().then(data => { 556 console.log(JSON.stringify(data)); 557}).catch(error => { 558 console.log(JSON.stringify(error)); 559}); 560``` 561 562## sharing.getSharingIfaces 563 564getSharingIfaces(state: SharingIfaceState, callback: AsyncCallback\<Array\<string>>): void 565 566获取指定状态的网卡名称列表,使用callback方式作为异步方法。 567 568**系统接口**:此接口为系统接口。 569 570**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 571 572**系统能力**:SystemCapability.Communication.NetManager.NetSharing 573 574**参数:** 575 576| 参数名 | 类型 | 必填 | 说明 | 577| -------- | --------------------------------------- | ---- | ---------- | 578| state | [SharingIfaceState](#sharingifacestate) | 是 | 网络共享状态。 | 579| callback | AsyncCallback\<Array\<string>> | 是 | 回调函数,返回指定状态的网卡名称列表。 | 580 581**错误码:** 582 583| 错误码ID | 错误信息 | 584| ------- | -------------------------------------------- | 585| 201 | Permission denied. | 586| 401 | Parameter error. | 587| 2200001 | Invalid parameter value. | 588| 2200002 | Operation failed. Cannot connect to service. | 589| 2200003 | System internal error. | 590 591**示例:** 592 593```js 594import SharingIfaceState from '@ohos.net.sharing' 595 596let SHARING_BLUETOOTH = 2; 597sharing.getSharingIfaces(SHARING_BLUETOOTH, (error, data) => { 598 console.log(JSON.stringify(error)); 599 console.log(JSON.stringify(data)); 600}); 601``` 602 603## sharing.getSharingIfaces 604 605getSharingIfaces(state: SharingIfaceState): Promise\<Array\<string>> 606 607获取指定状态的网卡名称列表,使用Promise方式作为异步方法。 608 609**系统接口**:此接口为系统接口。 610 611**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 612 613**系统能力**:SystemCapability.Communication.NetManager.NetSharing 614 615**参数:** 616 617| 参数名 | 类型 | 必填 | 说明 | 618| -------- | --------------------------------------- | ---- | ---------- | 619| state | [SharingIfaceState](#sharingifacestate) | 是 | 网络共享状态。 | 620 621**返回值:** 622 623| 类型 | 说明 | 624| --------------------------------- | ------------------------------------- | 625| Promise\<Array\<string>> | 以Promise形式返回指定状态网卡名称列表。 | 626 627**错误码:** 628 629| 错误码ID | 错误信息 | 630| ------- | -------------------------------------------- | 631| 201 | Permission denied. | 632| 401 | Parameter error. | 633| 2200001 | Invalid parameter value. | 634| 2200002 | Operation failed. Cannot connect to service. | 635| 2200003 | System internal error. | 636 637**示例:** 638 639```js 640import SharingIfaceState from '@ohos.net.sharing' 641 642let SHARING_BLUETOOTH = 2; 643sharing.getSharingIfaces(SHARING_BLUETOOTH).then(data => { 644 console.log(JSON.stringify(data)); 645}).catch(error => { 646 console.log(JSON.stringify(error)); 647}); 648``` 649 650## sharing.getSharingState 651 652getSharingState(type: SharingIfaceType, callback: AsyncCallback\<SharingIfaceState>): void 653 654获取指定类型网络共享状态,使用callback方式作为异步方法。 655 656**系统接口**:此接口为系统接口。 657 658**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 659 660**系统能力**:SystemCapability.Communication.NetManager.NetSharing 661 662**参数:** 663 664| 参数名 | 类型 | 必填 | 说明 | 665| -------- | --------------------------------------- | ---- | ---------- | 666| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 667| callback | AsyncCallback\<[SharingIfaceState](#sharingifacestate)> | 是 | 回调函数,返回指定类型网络共享状态。 | 668 669**错误码:** 670 671| 错误码ID | 错误信息 | 672| ------- | -------------------------------------------- | 673| 201 | Permission denied. | 674| 401 | Parameter error. | 675| 2200001 | Invalid parameter value. | 676| 2200002 | Operation failed. Cannot connect to service. | 677| 2200003 | System internal error. | 678 679**示例:** 680 681```js 682import SharingIfaceType from '@ohos.net.sharing' 683 684let SHARING_WIFI = 0; 685sharing.getSharingState(SHARING_WIFI, (error, data) => { 686 console.log(JSON.stringify(error)); 687 console.log(JSON.stringify(data)); 688}); 689``` 690 691## sharing.getSharingState 692 693getSharingState(type: SharingIfaceType): Promise\<SharingIfaceState> 694 695获取指定类型网络共享状态,使用Promise方式作为异步方法。 696 697**系统接口**:此接口为系统接口。 698 699**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 700 701**系统能力**:SystemCapability.Communication.NetManager.NetSharing 702 703**参数:** 704 705| 参数名 | 类型 | 必填 | 说明 | 706| -------- | --------------------------------------- | ---- | ---------- | 707| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 708 709**错误码:** 710 711| 错误码ID | 错误信息 | 712| ------- | -------------------------------------------- | 713| 201 | Permission denied. | 714| 401 | Parameter error. | 715| 2200001 | Invalid parameter value. | 716| 2200002 | Operation failed. Cannot connect to service. | 717| 2200003 | System internal error. | 718 719**返回值:** 720 721| 类型 | 说明 | 722| --------------------------------- | ------------------------------------- | 723| Promise\<[SharingIfaceState](#sharingifacestate)> | 以Promise形式返回定类型网络共共享状态。 | 724 725**示例:** 726 727```js 728import SharingIfaceType from '@ohos.net.sharing' 729 730let SHARING_WIFI = 0; 731sharing.getSharingState(SHARING_WIFI).then(data => { 732 console.log(JSON.stringify(data)); 733}).catch(error => { 734 console.log(JSON.stringify(error)); 735}); 736``` 737 738## sharing.getSharableRegexes 739 740getSharableRegexes(type: SharingIfaceType, callback: AsyncCallback\<Array\<string>>): void 741 742获取指定类型网卡名称正则表达式列表,使用callback方式作为异步方法。 743 744**系统接口**:此接口为系统接口。 745 746**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 747 748**系统能力**:SystemCapability.Communication.NetManager.NetSharing 749 750**参数:** 751 752| 参数名 | 类型 | 必填 | 说明 | 753| -------- | --------------------------------------- | ---- | ---------- | 754| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 755| callback | AsyncCallback\<Array\<string>> | 是 | 回调函数,返回指定类型网卡名称正则表达式列表。 | 756 757**错误码:** 758 759| 错误码ID | 错误信息 | 760| ------- | -------------------------------------------- | 761| 201 | Permission denied. | 762| 401 | Parameter error. | 763| 2200001 | Invalid parameter value. | 764| 2200002 | Operation failed. Cannot connect to service. | 765| 2200003 | System internal error. | 766 767**示例:** 768 769```js 770import SharingIfaceType from '@ohos.net.sharing' 771 772let SHARING_WIFI = 0; 773sharing.getSharableRegexes(SHARING_WIFI, (error, data) => { 774 console.log(JSON.stringify(error)); 775 console.log(JSON.stringify(data)); 776}); 777``` 778 779## sharing.getSharableRegexes 780 781getSharableRegexes(type: SharingIfaceType): Promise\<Array\<string>> 782 783获取指定类型网卡名称正则表达式列表,使用Promise方式作为异步方法。 784 785**系统接口**:此接口为系统接口。 786 787**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 788 789**系统能力**:SystemCapability.Communication.NetManager.NetSharing 790 791**参数:** 792 793| 参数名 | 类型 | 必填 | 说明 | 794| -------- | --------------------------------------- | ---- | ---------- | 795| type | [SharingIfaceType](#sharingifacetype) | 是 | 共享类型,0:Wi-Fi 1:USB 2:BLUETOOTH。 | 796 797**返回值:** 798 799| 类型 | 说明 | 800| --------------------------------- | ------------------------------------- | 801| Promise\<Array\<string>> | 以Promise形式返回正则表达式列表。 | 802 803**错误码:** 804 805| 错误码ID | 错误信息 | 806| ------- | -------------------------------------------- | 807| 201 | Permission denied. | 808| 401 | Parameter error. | 809| 2200001 | Invalid parameter value. | 810| 2200002 | Operation failed. Cannot connect to service. | 811| 2200003 | System internal error. | 812 813**示例:** 814 815```js 816import SharingIfaceType from '@ohos.net.sharing' 817 818let SHARING_WIFI = 0; 819sharing.getSharableRegexes(SHARING_WIFI).then(data => { 820 console.log(JSON.stringify(data)); 821}).catch(error => { 822 console.log(JSON.stringify(error)); 823}); 824``` 825 826## sharing.on('sharingStateChange') 827 828on(type: 'sharingStateChange', callback: Callback\<boolean>): void 829 830注册网络共享状态变化事件,使用callback方式作为异步方法。 831 832**系统接口**:此接口为系统接口。 833 834**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 835 836**系统能力**:SystemCapability.Communication.NetManager.NetSharing 837 838**参数:** 839 840| 参数名 | 类型 | 必填 | 说明 | 841| -------- | --------------------------------------- | ---- | ---------- | 842| type | string | 是 | 事件名称。 | 843| callback | AsyncCallback\<boolean> | 是 | 回调函数,返回网络共享状态。 | 844 845**错误码:** 846 847| 错误码ID | 错误信息 | 848| ------- | -------------------------------------------- | 849| 201 | Permission denied. | 850| 401 | Parameter error. | 851 852**示例:** 853 854```js 855sharing.on('sharingStateChange', (data) => { 856 console.log('on sharingStateChange: ' + JSON.stringify(data)); 857}); 858``` 859 860## sharing.off('sharingStateChange') 861 862off(type: 'sharingStateChange', callback?: Callback\<boolean>): void 863 864注销网络共享状态变化事件,使用callback方式作为异步方法。 865 866**系统接口**:此接口为系统接口。 867 868**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 869 870**系统能力**:SystemCapability.Communication.NetManager.NetSharing 871 872**参数:** 873 874| 参数名 | 类型 | 必填 | 说明 | 875| -------- | --------------------------------------- | ---- | ---------- | 876| type | string | 是 | 事件名称。 | 877| callback | AsyncCallback\<boolean> | 否 | 回调函数,返回网络共享状态。 | 878 879**错误码:** 880 881| 错误码ID | 错误信息 | 882| ------- | -------------------------------------------- | 883| 201 | Permission denied. | 884| 401 | Parameter error. | 885 886**示例:** 887 888```js 889sharing.off('sharingStateChange', (data) => { 890 console.log(JSON.stringify(data)); 891}); 892``` 893 894## sharing.on('interfaceSharingStateChange') 895 896on(type: 'interfaceSharingStateChange', callback: Callback\<{ type: SharingIfaceType, iface: string, state: SharingIfaceState }>): void 897 898注册网卡网络共享状态变化事件,使用callback方式作为异步方法。 899 900**系统接口**:此接口为系统接口。 901 902**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 903 904**系统能力**:SystemCapability.Communication.NetManager.NetSharing 905 906**参数:** 907 908| 参数名 | 类型 | 必填 | 说明 | 909| -------- | --------------------------------------- | ---- | ---------- | 910| type | string | 是 | 事件名称。 | 911| callback | AsyncCallback\<{ type: [SharingIfaceType](#sharingifacetype), iface: string, state: SharingIfaceState(#sharingifacestate) }> | 是 | 回调函数,指定网卡共享状态变化时调用。 | 912 913**错误码:** 914 915| 错误码ID | 错误信息 | 916| ------- | -------------------------------------------- | 917| 201 | Permission denied. | 918| 401 | Parameter error. | 919 920**示例:** 921 922```js 923sharing.on('interfaceSharingStateChange', (data) => { 924 console.log('on interfaceSharingStateChange:' + JSON.stringify(data)); 925}); 926``` 927 928## sharing.off('interfaceSharingStateChange') 929 930off(type: 'interfaceSharingStateChange', callback?: Callback\<{ type: SharingIfaceType, iface: string, state: SharingIfaceState }>): void 931 932注销网卡网络共享状态变化事件,使用callback方式作为异步方法。 933 934**系统接口**:此接口为系统接口。 935 936**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 937 938**系统能力**:SystemCapability.Communication.NetManager.NetSharing 939 940**参数:** 941 942| 参数名 | 类型 | 必填 | 说明 | 943| -------- | --------------------------------------- | ---- | ---------- | 944| type | string | 是 | 事件名称。 | 945| callback | AsyncCallback\<{ type: [SharingIfaceType](#sharingifacetype), iface: string, state: SharingIfaceState(#sharingifacestate) }> | 否 | 回调函数,注销指定网卡共享状态变化通知。 | 946 947**错误码:** 948 949| 错误码ID | 错误信息 | 950| ------- | -------------------------------------------- | 951| 201 | Permission denied. | 952| 401 | Parameter error. | 953 954**示例:** 955 956```js 957sharing.off('interfaceSharingStateChange', (data) => { 958 console.log(JSON.stringify(data)); 959}); 960``` 961 962## sharing.on('sharingUpstreamChange') 963 964on(type: 'sharingUpstreamChange', callback: Callback\<NetHandle>): void 965 966注册上行网络变化事件,使用callback方式作为异步方法。 967 968**系统接口**:此接口为系统接口。 969 970**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 971 972**系统能力**:SystemCapability.Communication.NetManager.NetSharing 973 974**参数:** 975 976| 参数名 | 类型 | 必填 | 说明 | 977| -------- | --------------------------------------- | ---- | ---------- | 978| type | string | 是 | 事件名称。 | 979| callback | AsyncCallback\<NetHandle> | 是 | 回调函数,上行网络变化时调用。 | 980 981**错误码:** 982 983| 错误码ID | 错误信息 | 984| ------- | -------------------------------------------- | 985| 201 | Permission denied. | 986| 401 | Parameter error. | 987 988**示例:** 989 990```js 991sharing.on('sharingUpstreamChange', (data) => { 992 console.log('on sharingUpstreamChange:' + JSON.stringify(data)); 993}); 994``` 995 996## sharing.off('sharingUpstreamChange') 997 998off(type: 'sharingUpstreamChange', callback?: Callback\<NetHandle>): void 999 1000注销上行网络变化事件,使用callback方式作为异步方法。 1001 1002**系统接口**:此接口为系统接口。 1003 1004**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL 1005 1006**系统能力**:SystemCapability.Communication.NetManager.NetSharing 1007 1008**参数:** 1009 1010| 参数名 | 类型 | 必填 | 说明 | 1011| -------- | --------------------------------------- | ---- | ---------- | 1012| type | string | 是 | 事件名称。 | 1013| callback | AsyncCallback\<NetHandle> | 否 | 回调函数,注销上行网络变化事件。 | 1014 1015**错误码:** 1016 1017| 错误码ID | 错误信息 | 1018| ------- | -------------------------------------------- | 1019| 201 | Permission denied. | 1020| 401 | Parameter error. | 1021 1022**示例:** 1023 1024```js 1025sharing.off('sharingUpstreamChange', (data) => { 1026 console.log(JSON.stringify(data)); 1027}); 1028``` 1029 1030## SharingIfaceState 1031 1032网络共享状态。 1033 1034**系统接口**:此接口为系统接口。 1035 1036**系统能力**:SystemCapability.Communication.NetManager.NetSharing 1037 1038| 名称 | 值 | 说明 | 1039| ------------------------ | ---- | ---------------------- | 1040| SHARING_NIC_SERVING | 1 | 正在网络共享。 | 1041| SHARING_NIC_CAN_SERVER | 2 | 可提供网络共享。 | 1042| SHARING_NIC_ERROR | 3 | 网络共享错误。 | 1043 1044## SharingIfaceType 1045 1046网络共享类型。 1047 1048**系统接口**:此接口为系统接口。 1049 1050**系统能力**:SystemCapability.Communication.NetManager.NetSharing 1051 1052| 名称 | 值 | 说明 | 1053| ------------------------ | ---- | ---------------------- | 1054| SHARING_WIFI | 0 | 网络共享类型Wi-Fi。 | 1055| SHARING_USB | 1 | 网络共享类型USB。 | 1056| SHARING_BLUETOOTH | 2 | 网络共享类型蓝牙。 | 1057