Ionic Android请求权限插件 - 不请求权限



我正在调用下面的函数:

this.androidPermissions.requestPermission("ACCESS_FINE_LOCATION")
.then((data: any) {
if(data.hasPermission) {
console.log("have permission");
}
});

但是我没有收到权限弹出窗口。我已经尝试过使用捕获块,但没有看到任何错误。

更新1:我已经尝试了这个答案,但我仍然没有得到权限弹出窗口。 https://stackoverflow.com/a/47650104/758373

所以我认为这可能是由两件事引起的。

第一个是:你如何在代码中使用权限。

Android 26

及更高版本:由于 Android 26 对权限处理的更改(权限是在使用时而不是运行时请求的(,如果您的应用不包含任何使用特定权限的功能(例如其他 Ionic Native 插件(,则 requestPermission(( 和 requestPermissions(( 将立即解决,而不会向用户显示提示。因此,在请求权限之前,您必须包含一个利用要使用的功能的功能。

据我了解,这不会在你的catch陈述中被抓住,因为什么都没有被抓住,没有错误。不过,它可能在您的then陈述中被捕获,但也可能不是。尝试编写语句以查看data: any是否为 null。有些插件在取消时会发送回调,有些则不会。这一切都取决于开发商的决定。

另外,我相信您错误地请求许可。

更改此内容

this.androidPermissions.requestPermission("ACCESS_FINE_LOCATION")
.then((data: any) {
if(data.hasPermission) {
console.log("have permission");
}
});

对此:

this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then((data:any) => {
if(data.hasPermission) {
console.log("have permission");
}
});

最新更新