HarmonyOS 鸿蒙Next使用手机流量数据时如何获取ip地址和mac地址

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next使用手机流量数据时如何获取ip地址和mac地址
wifimanager可以在连接wifi的时候获取mac和ip地址,但在使用手机流量时无法使用,如何在使用手机流量时能获取到ip和mac地址 networkManager.getIpAddressSync和networkManager.getMacSync普通应用好像无法使用

2 回复

可以使用getConnectionPropertiesSync返回结果的ConnectionProperties.linkAddresses属性获取蜂窝网络的信息,参考代码:

Text(this.message)
Button('异步获取IP地址')
  .onClick(() =>{
    connection.getDefaultNet()
      .then((netHandle: connection.NetHandle) =>{
        connection.getConnectionProperties(netHandle)
          .then((data: connection.ConnectionProperties) =>{
            console.info("Succeeded to get data: " + JSON.stringify(data));
            this.message = JSON.stringify(data.linkAddresses);
          })
      });
  })
Button('同步获取IP地址')
  .onClick(() => {
    let net = connection.getDefaultNetSync();
    try {
      let properties = connection.getConnectionPropertiesSync(net);
      this.message = JSON.stringify(properties.linkAddresses);
      console.log(JSON.stringify(properties));
      console.log(JSON.stringify(properties.linkAddresses));
    } catch (err) {
      this.message = JSON.stringify(err);
    }
  })

参考链接:华为开发者官网

设备MACAddress仅支持系统应用获取,三方应用不能获取设备MacAddress,防范WiFi探针,因此三方应用只能使用随机MacAddress(即MacType=0),随机MacAddress是根据设备MacAddress生成的,不会变动,可以作为设备标识使用,可使用wifiManager.getLinkedInfo方法获取到。

并且目前仅wifi可以获取。

更多关于HarmonyOS 鸿蒙Next使用手机流量数据时如何获取ip地址和mac地址的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,当你使用手机流量数据时,获取IP地址和MAC地址的方式有所不同,因为手机流量通常通过移动网络提供商分配IP地址,而MAC地址在移动网络环境下并不直接暴露给终端用户或应用。

获取IP地址: 在HarmonyOS上,你可以通过编程接口获取当前网络连接的IP地址。通常,这涉及到访问系统的网络连接信息。例如,使用系统提供的API来查询当前网络连接的状态和配置,从中提取出IP地址。

获取MAC地址: 在移动网络(如4G/5G)中,设备的MAC地址并不直接用于数据传输,而是由移动网络提供商的网络设备进行地址转换和路由。因此,在HarmonyOS设备上,当你使用手机流量时,通常无法直接获取到传统意义上的MAC地址。

如果你确实需要在编程中访问这些信息,可能需要考虑使用特定的系统API或库,这些API或库可能提供了访问网络连接详情的途径。但请注意,由于隐私和安全考虑,系统可能限制了对这些信息的访问。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部