在使用IONIC 3的应用程序的首次安装中,如何从Android设备获取IMEI编号

时间:2019-01-11 14:47:18

标签: async-await ionic3 imei

我想使用Ionic 3获取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);

这是我面临的一个问题。第一次在设备上安装应用程序时,它是在征求许可,但在控制台中却没有任何价值。

当我关闭应用程序时,请从后栈中清除,然后当我再次打开应用程序时,我会获得价值。

任何人都可以帮助我如何在首次安装时获得价值。

1 个答案:

答案 0 :(得分:0)

您似乎正在先检查权限。如果用户没有它(第一次启动总是如此),则进入if。在您内部请求权限,但是在用户授予您权限之后,您只需执行return;就没有任何价值。因此它什么也不会返回。

第二次启动应用程序时,您已经具有权限,它会跳过if并直接转到return this.uid.IMEI

因此,您应该将第一个return;返回到return this.uid.IMEI