• 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| 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