【问题标题】:Ionic Android permission always returns falseIonic Android 权限总是返回 false
【发布时间】:2017-11-16 18:20:22
【问题描述】:

我正在使用 ionic 3.15 并尝试使用权限插件。 使用提到的文档中的代码here

我有文档中显示的代码,但会在这里再次提及。

this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
  success => console.log('Permission granted'),
  err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA)
);

我总是收到hasPermission: false

我没有收到任何打开权限的提示。

这里要做什么我一头雾水。

谢谢。

【问题讨论】:

  • android 权限对话框中有一个“不再询问”选项,可能您的应用处于该状态,这就是 checkPermission 总是返回 false 的原因。您可以尝试卸载该应用,看看它是否做出了改变。
  • 检查它仍然有同样的问题。

标签: android cordova ionic-framework ionic3 ionic-native


【解决方案1】:

您需要添加以下内容:

this.androidPermissions.requestPermissions(
        [
          this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE,
          this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE
        ]
      );

你检查你是否有权限,如果是false,则执行上面的代码提示用户允许。

【讨论】:

    【解决方案2】:

    您似乎必须确保您使用的是您请求的权限。否则不会显示任何提示,androidPermissions.requestPermissions 会立即返回false

    来自docs

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

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 2018-05-29
      • 1970-01-01
      相关资源
      最近更新 更多