# @system.network (Network State) > **NOTE** > - The initial APIs of this module are supported since API version 3. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ``` import network from '@system.network'; ``` ## Required Permissions ohos.permission.GET_WIFI_INFO ohos.permission.GET_NETWORK_INFO ## network.getType3+ getType(options?: {
  success?: (data: NetworkResponse) => void;
  fail?: (data: any, code: number) => void;
  complete?: () => void;
}): void Obtains the network type. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | success | Function | No| Called when the API call is successful. The return value is defined by [NetworkResponse](#networkresponse).| | fail | Function | No| Called when API call has failed.| | complete | Function | No| Called when the API call is complete.| One of the following error codes will be returned if the API call has failed. | Error Code| Description| | -------- | -------- | | 602 | The current permission is not declared.| **Example** ``` 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); }, }); }, } ``` ## network.subscribe3+ subscribe(options?:{
  success?: (data: NetworkResponse) => void;
  fail?: (data: any, code: number) => void;
}): void Listens to the network connection state. If this method is called multiple times, the last call takes effect. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | success | Function | No| Called when the network state changes. The return value is defined by [NetworkResponse](#networkresponse).| | fail | Function | No| Called when API call has failed.| One of the following error codes will be returned if the API call has failed. | Error Code| Description| | -------- | -------- | | 602 | The current permission is not declared.| | 200 | Subscription failed.| **Example** ``` 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); }, }); }, } ``` ## network.unsubscribe3+ unsubscribe(): void Cancels listening to the network connection state. **System capability**: SystemCapability.Communication.NetManager.Core **Example** ``` export default { unsubscribe() { network.unsubscribe(); }, } ``` ## NetworkResponse3+ **System capability**: SystemCapability.Communication.NetManager.Core | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | metered | boolean | No|Whether to charge by traffic.| | type | string | Yes|Network type. The value can be **2G**, **3G**, **4G**, **5G**, **WiFi**, or **none**.|