# @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. > > - The APIs of this module are no longer maintained since API version 8. You are advised to use ['@ohos.net.connection'](js-apis-net-connection.md). ## 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 of this device. **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](#networkresponse3).| | fail | Function | No| Called when an API call fails.| | complete | Function | No| Called when an API call is complete.| Error codes: | Error Code| Description| | -------- | -------- | | 602 | The current permission is not declared.| **Example** ``` export default class Network { getType() { network.getType({ success: (data) => { console.log('success get network type:' + data.type); } }); } } ``` ## network.subscribe3+ subscribe(options?:{
  success?: (data: NetworkResponse) => void;
  fail?: (data: any, code: number) => void;
}): void Listens to the network connection state of this device. If this API 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](#networkresponse3).| | fail | Function | No| Called when an API call fails.| Error codes: | Error Code| Description| | -------- | -------- | | 602 | The current permission is not declared.| | 200 | Subscription failed.| **Example** ``` export default class Network { subscribe() { network.subscribe({ success: (data) => { console.log('success get network type:' + data.type); } }); } } ``` ## network.unsubscribe3+ unsubscribe(): void Cancels listening to the network connection state of this device. **System capability**: SystemCapability.Communication.NetManager.Core **Example** ``` import network from '@system.network'; 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**.|