• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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