HarmonyOS 鸿蒙Next RNOH react-native-device-info 的getUniqueId方法改为AAID级别 或 将RNOH react-native-device-info的getUniqueId方法从系统权限级别改为HarmonyOS 鸿蒙Next AAID.getAAID()以便应用使用

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

HarmonyOS 鸿蒙Next RNOH react-native-device-info 的getUniqueId方法改为AAID级别

将RNOH react-native-device-info的getUniqueId方法从系统权限级别改为HarmonyOS 鸿蒙Next AAID.getAAID()以便应用使用


三方库版本:@react-native-oh-tpl/react-native-device-info 11.1.0-0.0.1

 


更多关于HarmonyOS 鸿蒙Next RNOH react-native-device-info 的getUniqueId方法改为AAID级别 或 将RNOH react-native-device-info的getUniqueId方法从系统权限级别改为HarmonyOS 鸿蒙Next AAID.getAAID()以便应用使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
由于该库有个使用限制,需要使用具体文件引用。

确认下业务侧的引用是不是直接这样引用的:import DeviceInfo from react-native-device-info

如果是的话,做出以下修改:

将业务侧对device-info的引用改成

import DeviceInfo from '[@react-native-oh-tpl](/user/react-native-oh-tpl)/react-native-device-info/src/RNDeviceInfo';

更多关于HarmonyOS 鸿蒙Next RNOH react-native-device-info 的getUniqueId方法改为AAID级别 或 将RNOH react-native-device-info的getUniqueId方法从系统权限级别改为HarmonyOS 鸿蒙Next AAID.getAAID()以便应用使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS 鸿蒙Next环境中,将react-native-device-info库的getUniqueId方法从原有实现改为使用AAID(Advertising ID),可以通过以下步骤实现:

  1. 修改原生模块

    • react-native-device-info的HarmonyOS原生代码中,找到getUniqueId方法的实现。
    • 替换该方法,使其调用HarmonyOS提供的AAID接口。HarmonyOS的AAID可以通过ohos.security.SystemPermission.GET_ADVERTISING_ID权限获取,并使用ohos.aafwk.content.Intentohos.security.AaidManager来获取AAID。
  2. 配置权限

    • config.json中添加ohos.permission.GET_ADVERTISING_ID权限声明。
  3. 重新编译并运行

    • 完成代码修改后,重新编译React Native应用,并在HarmonyOS设备上进行测试。

示例代码(伪代码,需根据实际环境调整):

// HarmonyOS原生模块修改
function getUniqueId() {
  const aaidManager = ohos.security.AaidManager.getInstance(context);
  const aaid = aaidManager.getAAID();
  return aaid;
}

注意,实际实现需考虑异常处理和权限检查。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部