鸿蒙Next如何获取网络IP地址
在鸿蒙Next系统中,如何通过代码获取设备的网络IP地址?需要区分WiFi和移动数据的不同连接方式吗?有没有具体的API调用示例?
        
          2 回复
        
      
      
        鸿蒙Next里获取IP地址?简单!调用getaddrinfo或getifaddrs,就像问网卡:“兄弟,你住哪儿?”记得加网络权限,不然系统会翻白眼:“想偷窥?没门!”
更多关于鸿蒙Next如何获取网络IP地址的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next(HarmonyOS NEXT)中,获取网络IP地址可以通过@ohos.net.connection模块实现。以下是具体步骤和示例代码:
步骤:
- 导入模块:使用
import导入网络连接相关模块。 - 获取网络管理器:通过
getDefaultNet方法获取默认网络实例。 - 获取连接属性:从网络实例中获取连接属性,包括IP地址。
 
示例代码:
import connection from '@ohos.net.connection';
// 获取网络管理器
let netManager = connection.getDefaultNet();
// 获取连接属性
netManager.getConnectionProperties().then((properties) => {
  let ipAddress = properties.linkAddresses[0]?.address; // 获取第一个IP地址
  console.log('IP Address:', ipAddress);
}).catch((error) => {
  console.error('Failed to get IP address:', error);
});
说明:
- 权限:确保在
module.json5中声明网络权限:{ "module": { "requestPermissions": [ { "name": "ohos.permission.GET_NETWORK_INFO" } ] } } - 异步处理:
getConnectionProperties返回Promise,需用then/catch处理结果或错误。 - 多IP情况:设备可能有多个IP(如IPv4/IPv6),通过
linkAddresses数组访问。 
注意事项:
- 仅适用于HarmonyOS NEXT及以上版本。
 - 实际IP可能随网络状态变化,建议在网络连接后调用。
 
以上方法可获取当前活跃网络的IP地址。
        
      
                  
                  
                  
