我想使用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);
这是我面临的一个问题。第一次在设备上安装应用程序时,它是在征求许可,但在控制台中却没有任何价值。
当我关闭应用程序时,请从后栈中清除,然后当我再次打开应用程序时,我会获得价值。
任何人都可以帮助我如何在首次安装时获得价值。
答案 0 :(得分:0)
您似乎正在先检查权限。如果用户没有它(第一次启动总是如此),则进入if。在您内部请求权限,但是在用户授予您权限之后,您只需执行return;
就没有任何价值。因此它什么也不会返回。
第二次启动应用程序时,您已经具有权限,它会跳过if并直接转到return this.uid.IMEI
因此,您应该将第一个return;
返回到return this.uid.IMEI