HarmonyOS 鸿蒙Next中设备的唯一标识

HarmonyOS 鸿蒙Next中设备的唯一标识 想获取设备的唯一标识,把UUID作为唯一标识,但通过这个api(util.generateRandomUUID(true) )获取的UUID每次都会变。能有方法获取不变的唯一标识吗?

3 回复

关于设备唯一id标识的事情,可以使用AAID标识或者OAID,

AAID: AAID-设备标识服务 - 华为HarmonyOS开发者

OAID: OAID-设备标识服务 - 华为HarmonyOS开发者

同时也将提供asset能力,是一个安全储存空间,把AAID放在asset里,可实现应用卸载AAID不清除的效果,但这种方式只能用于正常的业务诉求,不能用于追踪用户。华为的asset store kit能力实现;

Asset Store Kit实现参考文档: Asset Store Kit简介-Asset Store Kit(关键资产存储服务)-安全-系统 - 华为HarmonyOS开发者

更多关于HarmonyOS 鸿蒙Next中设备的唯一标识的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,设备的唯一标识通常通过DeviceIdManager类来获取。DeviceIdManager提供了getDeviceId方法,用于获取设备的唯一标识。该标识在设备生命周期内保持不变,并且在同一设备上运行的应用程序可以共享该标识。

getDeviceId方法返回的是一个字符串,格式为UUID,长度为36个字符。该标识符在设备首次启动时生成,并且在设备的整个生命周期内保持不变。注意,该标识符是设备级别的,而不是应用程序级别的。

获取设备唯一标识的代码示例:

import deviceIdManager from '@ohos.deviceIdManager';

let deviceId = deviceIdManager.getDeviceId();
console.log('Device ID: ' + deviceId);

此外,鸿蒙Next还提供了DeviceInfo类,可以获取设备的其他信息,如设备名称、型号、制造商等,但这些信息并不作为设备的唯一标识使用。

在HarmonyOS(鸿蒙Next)中,设备的唯一标识可以通过DeviceIdManager类获取。具体方法如下:

  1. 获取设备唯一标识:使用DeviceIdManager.getDeviceId()方法,返回一个字符串形式的设备唯一标识。

    String deviceId = DeviceIdManager.getDeviceId(context);
    
  2. 注意事项:

    • 该标识符在不同设备上唯一,但在同一设备上保持不变。
    • 出于隐私考虑,建议仅在必要时获取并使用,并遵循相关隐私政策。

此外,还可以使用DeviceInfoManager获取其他设备信息,如设备型号、序列号等。

回到顶部