Bootstrap

【HarmonyOS NEXT】如果获取应用相关信息,比如应用版本号、uuid、ip地址

 【关键字】

版本号 / UUID / IP / OAID / AAID / 唯一标识

【问题描述】

麻烦咨询一下,如何获取一些应用开发必要信息:

  • App信息:如应用版本号、编译版本号

  • 唯一标志符信息:如uuid、udid、idfv

  • 网络信息:如局域网ip地址、ipv4与ipv6地址

【解决方案】

import { bundleManager } from '@kit.AbilityKit'

@Entry
@Component
export struct ToLoginPage {
build() {
Column() {
Text('hello')
}
}
onPageShow() {

}
aboutToAppear(): void {
bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION).then((info)=>{
console.info("info:"+info.name)
})
}
}
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) ?? '');
}
}

;