You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ionic安卓应用中获取IMEI号码?

获取安卓设备IMEI的完整Ionic实现方案

看起来你已经在使用cordova-plugin-uid和cordova-plugin-android-permissions尝试获取IMEI了,我来帮你补全代码并梳理关键注意事项,确保功能正常运行:

首先,确认你已安装所有必要依赖(如果还没装全的话):

  • 安装UID插件:ionic cordova plugin add cordova-plugin-uid
  • 安装Ionic Native UID包装:npm install @ionic-native/uid
  • 安装权限插件:ionic cordova plugin add cordova-plugin-android-permissions
  • 安装Ionic Native权限包装:npm install @ionic-native/android-permissions

接下来,在你的AppModule中注册这两个插件,确保Angular能正常注入它们:

// app.module.ts
import { NgModule } from '@angular/core';
import { Uid } from '@ionic-native/uid/ngx';
import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';

@NgModule({
  // ...其他已有配置
  providers: [
    Uid,
    AndroidPermissions,
    // ...其他服务提供者
  ]
})
export class AppModule {}

然后,补全你的getIMEI方法,完善权限请求后的逻辑,并安全获取IMEI:

async getIMEI() {
  const { hasPermission } = await this.androidPermissions.checkPermission(
    this.androidPermissions.PERMISSION.READ_PHONE_STATE
  );

  console.log("hasPermission : " + hasPermission);

  if (!hasPermission) {
    const result = await this.androidPermissions.requestPermission(
      this.androidPermissions.PERMISSION.READ_PHONE_STATE
    );

    // 如果用户拒绝权限,直接终止流程
    if (!result.hasPermission) {
      console.error("用户拒绝读取手机状态权限,无法获取IMEI");
      return;
    }
  }

  // 权限通过后尝试获取IMEI
  try {
    const imei = this.uid.IMEI;
    console.log("成功获取IMEI:", imei);
    // 在这里添加你的业务逻辑,比如存储IMEI或发送到后端
  } catch (error) {
    console.error("获取IMEI失败:", error);
    // 处理异常情况,比如设备不支持、系统限制等
  }
}

关键注意事项

  • Android 10+ 系统限制:从Android 10(API级别29)开始,普通第三方应用无法获取IMEI,除非你的应用是设备所有者应用或拥有特殊系统权限。如果面向普通用户,建议用ANDROID_ID作为替代:
    const androidId = this.uid.ANDROID_ID;
    
    注意:Android ID会在设备恢复出厂设置时改变,部分厂商设备可能返回相同ID。
  • 权限声明:务必在config.xml中添加权限声明,否则权限请求会失败:
    <platform name="android">
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    </platform>
    
  • 测试环境:必须在真实安卓设备上测试,模拟器通常无法返回有效IMEI。

内容的提问来源于stack exchange,提问作者TechValens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:50:17