js-apis-system-network.md 3.1 KB
Newer Older
1
# @system.network (网络状态)
Z
zengyawen 已提交
2

zyjhandsome's avatar
zyjhandsome 已提交
3
> **说明:**
Z
zengyawen 已提交
4
> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.telephony.observer`](js-apis-observer.md)。
Y
Yangys 已提交
5
>
Z
zengyawen 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块


```
import network from '@system.network';
```


## 权限列表

ohos.permission.GET_WIFI_INFO

ohos.permission.GET_NETWORK_INFO


X
xujie 已提交
24
## network.getType<sup>3+</sup>
Z
zengyawen 已提交
25

X
xujie 已提交
26
getType(Object): void
Z
zengyawen 已提交
27 28 29 30 31 32 33

获取当前设备的网络类型。

**系统能力:** SystemCapability.Communication.NetManager.Core

**参数:**

Y
Yangys 已提交
34
| 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
35
| -------- | -------- | -------- | -------- |
X
xujie 已提交
36 37 38
| success | Function | 否 | 接口调用成功的回调函数,返回值为[NetworkResponse](#networkresponse) |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
Z
zengyawen 已提交
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

fail返回值:

| 错误码 | 说明 |
| -------- | -------- |
| 602 | 当前权限未声明。 |

**示例:**

```
export default {    
  getType() {        
    network.getType({            
      success: function(data) {                
        console.log('success get network type:' + data.type);            
      },            
      fail: function(data, code) {                
        console.log('fail to get network type code:' + code + ', data:' + data);            
      },
    });    
  },
}
```


X
xujie 已提交
64
## network.subscribe<sup>3+</sup>
Z
zengyawen 已提交
65

X
xujie 已提交
66
subscribe(Object): void
Z
zengyawen 已提交
67 68 69 70 71 72 73

订阅当前设备的网络连接状态。如果多次调用,会覆盖前一次调用。

**系统能力:** SystemCapability.Communication.NetManager.Core

**参数:**

Y
Yangys 已提交
74
| 参数名 | 类型 | 必填 | 说明 |
Z
zengyawen 已提交
75
| -------- | -------- | -------- | -------- |
X
xujie 已提交
76 77
| success | Function | 否 | 网络发生变化的回调函数,返回值为[NetworkResponse](#networkresponse) |
| fail | Function | 否 | 接口调用失败的回调函数。 |
Z
zengyawen 已提交
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103

fail返回值:

| 错误码 | 说明 |
| -------- | -------- |
| 602 | 当前权限未声明。 |
| 200 | 订阅失败。 |

**示例:**

```
export default {    
  subscribe() {        
    network.subscribe({            
      success: function(data) {                
        console.log('network type change type:' + data.type);            
      },            
      fail: function(data, code) {                
        console.log('fail to subscribe network, code:' + code + ', data:' + data);            
      },
    });    
  },
}
```


X
xujie 已提交
104
## network.unsubscribe<sup>3+</sup>
Z
zengyawen 已提交
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

unsubscribe(): void

取消订阅设备的网络连接状态。

**系统能力:** SystemCapability.Communication.NetManager.Core

**示例:**

```
export default {    
  unsubscribe() {        
    network.unsubscribe();    
  },
}
Z
zhanghaifeng 已提交
120 121 122
```


X
xujie 已提交
123
## NetworkResponse<sup>3+</sup>
Z
zhanghaifeng 已提交
124

Y
Yangys 已提交
125 126
**系统能力:** SystemCapability.Communication.NetManager.Core

Y
Yangys 已提交
127
| 名称 | 类型 | 必填 | 说明 |
Y
Yangys 已提交
128 129
| -------- | -------- | -------- | -------- |
| metered | boolean | 否 |是否按照流量计费。 |
X
xujie 已提交
130
| type | string | 是|网络类型,可能的值有2g,3g,4g,5g,wifi,none等。 |