UniApp中获取安卓设备的唯一标识符

昨天 1350阅读

在UniApp中获取安卓设备的唯一标识符时,尤其是针对安卓平板电脑,需要注意的是,为了保护用户隐私,从Android 10(API级别29)开始,Google进一步加强了对设备标识符的管理,许多传统的设备唯一标识(例如IMEI、MAC地址等)无法直接通过应用程序访问,除非用户明确授予相关权限。

UniApp中获取安卓设备的唯一标识符
(图片来源网络,侵删)

以下是一些可能的替代方案来标识设备:

  1. OAID(匿名广告标识符): 对于广告跟踪和设备识别,在Android 10及以上版本,可以尝试使用开放匿名设备标识符(OAID),它是由某些广告服务提供商提供的,并遵循一定的隐私政策。不过,这并不是所有设备都支持,且用户可以选择重置此标识符。

  2. ANDROID_ID: 虽然不保证永久不变或始终存在,但在一些情况下,仍然可以尝试获取ANDROID_ID,但请注意其行为在不同版本和厂商定制系统中可能有所不同

// 使用plus.android.runtimeExec执行原生代码获取ANDROID_ID
var identifier = "";
try {
  identifier = plus.android.runtimeExec({
    action: "com.example.getAndroidId",
    classPath: "com.example.GetAndroidIdActivity",
  }).result;
} catch (e) {
  console.log('获取ANDROID_ID失败');
}

 上述代码片段是一个示例,实际操作中你可能需要编写一个简单的原生插件来获取ANDROID_ID,并在Manifest中声明必要的权限。

     3. UUID: UniApp框架可能会提供一个内部生成的UUID作为设备标识,但这不是一个持久不变的标识符,通常会在应用卸载后重新安装时发生变化。

const deviceId = uni.getSystemInfoSync().deviceId;

 

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]