HarmonyOS 鸿蒙Next 获取手机ip的方法
HarmonyOS 鸿蒙Next 获取手机ip的方法
有没有大佬能提供一个获取手机ip的方法
2 回复
import connection from '@ohos.net.connection';
import hilog from '@ohos.hilog';
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
const TAG: string = 'testTag'
/**
* 获取设备ip
*/
async function getLocalIp() {
try {
hilog.info(0x00000, TAG, '判断是否存在激活的网络连接');
let hasNet = connection.hasDefaultNetSync()
if (hasNet) {
hilog.info(0x00000, TAG, '存在默认激活的网络');
} else {
hilog.error(0x00000, TAG, '不存在激活的网络');
return
}
let handleResult = await connection.getDefaultNet()
if (handleResult) {
let connectionProperties = await connection.getConnectionProperties(handleResult)
if (connectionProperties && connectionProperties.linkAddresses) {
connectionProperties.linkAddresses.forEach((address: connection.LinkAddress, index: number) => {
hilog.info(0x00000, TAG, '索引:' + index + ',值:' + JSON.stringify(address));
})
}
}
} catch (e) {
hilog.error(0x00000, TAG, `获取网络信息出现异常,异常信息 %{public}s`, JSON.stringify(e) ?? '');
}
}
[@Entry](/user/Entry)
[@Component](/user/Component)
struct getLocalIpTest {
[@State](/user/State) message: string = 'Hello World';
context = getContext(this) as common.UIAbilityContext;
build() {
RelativeContainer() {
Text(this.message)
.id('HelloWorld')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
.onClick(()=>{
getLocalIp()
})
}
.height('100%')
.width('100%')
}
}
配置一下如下权限
{
'name': "ohos.permission.INTERNET"
},
{
'name': "ohos.permission.GET_NETWORK_INFO"
},
作为IT专家,对于HarmonyOS鸿蒙Next获取手机IP地址的方法,以下是一些专业解答:
在HarmonyOS中,获取手机IP地址通常涉及访问系统的网络接口信息。若设备已连接Wi-Fi,可直接在设置中的“关于手机”或“状态信息”里查看IP地址。
然而,若设备未连接Wi-Fi而是使用移动数据网络,情况则有所不同。移动数据网络通常不会为设备分配一个静态或私有的IPv4地址,而是使用NAT或CGNAT等技术共享公共IP地址。因此,直接获取传统的IPv4地址可能不太直接或可行。
在这种情况下,可考虑以下方法:
- 尝试访问系统的网络接口信息,查看是否有移动网络分配的私有IPv4地址(非标准做法)。
- 检查设备是否配置了IPv6地址,并尝试获取。
- 使用第三方库或服务,但可能涉及网络请求或特定的服务API。
请注意,获取IP地址的方法可能因设备型号、系统版本等因素而有所不同。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。