Ionic,在权限对话框中单击“从不”后,无法重新启用地理位置权限

时间:2016-06-07 03:39:09

标签: android cordova ionic-framework ngcordova

我正在使用版本6.0.1的Android手机上开发Ionic应用程序,我遇到了有关地理位置权限的问题。

  1. 该应用成功向用户询问了地理位置权限,但是当用户在对话框中单击“始终”时,该应用无法再次询问。
  2. 用户点击“从不”后,仍会启用Android App权限中我们应用的地理位置预设。 (切换没有帮助)
  3. 只有重新安装应用程序,应用程序才会再次请求权限。
  4. enter image description here

    解决方案:

    1. 对话框要求启用位置而不是请求权限。
    2. 对话框由插件https://github.com/mapsplugin/cordova-plugin-googlemaps打开,而never按钮不链接到android设置。
    3. 我通过使用另一个插件来处理定位服务的转换来解决问题,该服务没有从不选择。

1 个答案:

答案 0 :(得分:3)

  

该应用成功向用户询问了地理位置权限,但是当用户在对话框中点击“始终”时,该应用无法再次询问。

这是Android 6.0上的预期行为:一旦用户通过检查"永远不再询问"在框中,不允许应用程序以编程方式提示用户使用对话框。

唯一的选择是指示用户如何通过“设置”页面手动允许权限。为此,您可以使用switchToSettings()中的cordova-diagnostic-plugin将用户切换到应用的设置页面。

  

用户点击“从不”后,仍会启用Android App权限中我们应用的地理位置预设。 (切换没有帮助)

不应该是这种情况:通过应用程序设置页面手动允许权限允许应用程序使用该功能。您可以使用Android permissions example app for cordova-diagnostic-plugin自行确认。但是,这取决于您用来处理权限请求的插件如何响应"永远不再询问"情况。您可能需要使用cordova-diagnostic-plugin手动检查权限状态,并切换到应用程序设置页面,如果它已被拒绝。