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