代码之家  ›  专栏  ›  技术社区  ›  ananya

如何在首次安装应用程序时从Android设备获取IMEI号码

  •  1
  • ananya  · 技术社区  · 7 年前

    我想用Ionic3获取Android设备的IMEI号。 我使用下面的代码来获取这个链接。 https://ionicframework.com/docs/native/uid/ .

    async getImei() {
     const { hasPermission } = await this.androidPermissions.checkPermission(
       this.androidPermissions.PERMISSION.READ_PHONE_STATE
     );
    
     if (!hasPermission) {
       const result = await this.androidPermissions.requestPermission(
         this.androidPermissions.PERMISSION.READ_PHONE_STATE
       );
    
       if (!result.hasPermission) {
         throw new Error('Permissions required');
       }
    
       // ok, a user gave us permission, we can get him identifiers after restart app
       return;
     }
    
      return this.uid.IMEI
    }
    

    我在构造函数中这样调用上面的方法。

    this.getImei();
    

    console.log("IMEI Number" + this.uid.IMEI);
    

    在这里,我面临一个问题:当我第一次在设备上安装应用程序时,它是在请求许可,但在控制台中没有得到任何值。

    当我关闭应用程序时,从backback清除,然后当我再次打开应用程序时,我得到值。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Andreas Gassmann    7 年前

    看起来你是第一次检查许可证。如果用户没有它(当您第一次启动它时总是这样),则进入If。你在里面请求权限,但是在用户给你权限之后,你只需要 return; 没有任何价值。所以它什么也回不来。

    return this.uid.IMEI

    所以你应该先回去 返回this.uid.IMEI