HarmonyOS鸿蒙Next中如何获取设备的唯一id

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

HarmonyOS鸿蒙Next中如何获取设备的唯一id 如何获取设备的唯一id,app卸载重新安装获取不会发生变化,可以区分用户;类似android中的AndroidId

3 回复

可以使用关键资产来保存获取的设备唯一标识符,链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/asset-store-kit-overview-V5

使用步骤:

  1. module.json5设置:
    "requestPermissions": [
      {'name': 'ohos.permission.STORE_PERSISTENT_DATA'},
      {
        'name': 'ohos.permission.ACCESS_BIOMETRIC'
      }
    ]
  1. 保存关键资产
  const assetInfo: asset.AssetMap = new Map();
  assetInfo.set(asset.Tag.SECRET, stringToArray(value));
  assetInfo.set(asset.Tag.ALIAS, stringToArray(key));
  assetInfo.set(asset.Tag.ACCESSIBILITY, asset.Accessibility.DEVICE_FIRST_UNLOCKED);
  assetInfo.set(asset.Tag.IS_PERSISTENT, true); //卸载重装不丢失
  asset.add(assetInfo)
  1. 查询关键资产
  const query: asset.AssetMap = new Map();
  query.set(asset.Tag.ALIAS, stringToArray(key)); // 指定了关键资产别名,最多查询到一条满足条件的关键资产
  query.set(asset.Tag.RETURN_TYPE, asset.ReturnType.ALL); // 此处表示需要返回关键资产的所有信息,即属性+明文  

  asset.query(query)

获取设备唯一id可参考:‘https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/oaid-service-V5’

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


在HarmonyOS鸿蒙Next中,获取设备的唯一ID可以通过DeviceIdManager类实现。DeviceIdManager提供了getDeviceId方法,用于获取设备唯一标识符。该标识符在设备生命周期内保持不变,且不同设备的ID不同。具体代码如下:

import deviceIdManager from '@ohos.deviceIdManager';

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

getDeviceId返回的是一串字符串,作为设备的唯一标识。该方法适用于需要设备唯一标识的场景,如用户身份识别、设备管理等。

在HarmonyOS鸿蒙Next中,获取设备的唯一ID可以通过DeviceInfoManager类实现。首先,使用context.getSystemService(Context.DEVICE_INFO_SERVICE)获取DeviceInfoManager实例。然后,调用getDeviceId()方法获取设备的唯一ID。需要注意的是,出于隐私和安全考虑,获取设备唯一ID可能需要特定的权限,如ohos.permission.READ_DEVICE_ID。建议在使用前检查并申请相应权限。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!