HarmonyOS 获取IP地址方法?

问1:获取当前流量的IP用哪个方法

问2:获取当前WIFI的IP用哪个方法

问3:如何判断当前的网络状态是WIFI还是流量,还是其他

问4:当前使用的是代码1获取的数据,请问数据1的内容都是什么含义

代码1:

connection.getDefaultNet().then((netHandle: connection.NetHandle) => {
  connection.getConnectionProperties(netHandle).then((data: connection.ConnectionProperties) => {
    console.info("Dragon2 Succeeded to get data: " + JSON.stringify(data));
  })
});

数据1:

{
  "interfaceName": "wlan0",
"domains": "",
"mtu": 0,
"linkAddresses": [
  {
    "address": {
    "address": "192.168.13.224",
    "family": 1,
    "port": 0
  },
    "prefixLength": 19
  }
  ],
  "routes": [
  {
    "interface": "wlan0",
  "destination": {
    "address": {
      "address": "0.0.0.0",
      "family": 1,
      "port": 0
    },
    "prefixLength": 0
  },
    "gateway": {
    "address": "192.168.13.1",
    "prefixLength": 0
  },
    "hasGateway": true,
  "isDefaultRoute": false
  }
  ],
  "dnses": [
  {
    "address": "223.5.5.5",
  "family": 1,
  "port": 0
  },
  {
    "address": "223.6.6.6",
  "family": 1,
  "port": 0
  }
  ]
}
阅读 536
1 个回答

问题一和问题二:

使用接口connection.getConnectionProperties可获取当前使用网络IP,模块需配置权限:ohos.permission.GET\_NETWORK\_INFO

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5\#connectiongetconnectionproperties

问题三:可以使用getNetCapabilities去获取网络的类型,参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5\#connectiongetdefaultnet

问题四:当前网络ip地址取linkAddresses数组中第一个对象的address即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进