• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @system.network (网络状态)
2
3> **说明:**
4> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.telephony.observer`](js-apis-observer.md)。
5>
6> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8
9## 导入模块
10
11
12```
13import network from '@system.network';
14```
15
16
17## 权限列表
18
19ohos.permission.GET_WIFI_INFO
20
21ohos.permission.GET_NETWORK_INFO
22
23
24## network.getType
25
26getType(Object): void
27
28获取当前设备的网络类型。
29
30**系统能力:** SystemCapability.Communication.NetManager.Core
31
32**参数:**
33
34| 参数名 | 类型 | 必填 | 说明 |
35| -------- | -------- | -------- | -------- |
36| success | Function | 否 | 接口调用成功的回调函数,返回值为[NetworkResponse](#networkresponse) |
37| fail | Function | 否 | 接口调用失败的回调函数。 |
38| complete | Function | 否 | 接口调用结束的回调函数。 |
39
40fail返回值:
41
42| 错误码 | 说明 |
43| -------- | -------- |
44| 602 | 当前权限未声明。 |
45
46**示例:**
47
48```
49export default {
50  getType() {
51    network.getType({
52      success: function(data) {
53        console.log('success get network type:' + data.type);
54      },
55      fail: function(data, code) {
56        console.log('fail to get network type code:' + code + ', data:' + data);
57      },
58    });
59  },
60}
61```
62
63
64## network.subscribe
65
66subscribe(Object): void
67
68订阅当前设备的网络连接状态。如果多次调用,会覆盖前一次调用。
69
70**系统能力:** SystemCapability.Communication.NetManager.Core
71
72**参数:**
73
74| 参数名 | 类型 | 必填 | 说明 |
75| -------- | -------- | -------- | -------- |
76| success | Function | 否 | 网络发生变化的回调函数,返回值为[NetworkResponse](#networkresponse) |
77| fail | Function | 否 | 接口调用失败的回调函数。 |
78
79fail返回值:
80
81| 错误码 | 说明 |
82| -------- | -------- |
83| 602 | 当前权限未声明。 |
84| 200 | 订阅失败。 |
85
86**示例:**
87
88```
89export default {
90  subscribe() {
91    network.subscribe({
92      success: function(data) {
93        console.log('network type change type:' + data.type);
94      },
95      fail: function(data, code) {
96        console.log('fail to subscribe network, code:' + code + ', data:' + data);
97      },
98    });
99  },
100}
101```
102
103
104## network.unsubscribe
105
106unsubscribe(): void
107
108取消订阅设备的网络连接状态。
109
110**系统能力:** SystemCapability.Communication.NetManager.Core
111
112**示例:**
113
114```
115export default {
116  unsubscribe() {
117    network.unsubscribe();
118  },
119}
120```
121
122
123## NetworkResponse
124
125**系统能力:** SystemCapability.Communication.NetManager.Core
126
127| 名称 | 类型 | 必填 | 说明 |
128| -------- | -------- | -------- | -------- |
129| metered | boolean | 否 |是否按照流量计费。 |
130| type | string | 是|网络类型,可能的值有2g,3g,4g,5g,wifi,none等。 |