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等。 |