Ionic,在权限对话框中单击 NEVER 后无法 re-enable 地理定位权限
Ionic, Cannot re-enable the geolocation permission after click NEVER in the permission dialog
我正在 Android phone 版本 6.0.1 上开发 Ionic 应用程序,我遇到了有关地理定位权限的问题。
- 应用程序成功请求用户提供地理定位权限,但当用户在对话框中单击“从不”时,应用程序无法再次请求。
- 用户点击 NEVER 后,我们应用程序在 Android 应用程序权限中的地理定位权限仍然启用。 (切换没有帮助)
- 只能重新安装应用程序,应用程序再次请求权限。
解决方案:
- 对话框要求启用位置而不是请求许可。
- 对话框由插件 https://github.com/mapsplugin/cordova-plugin-googlemaps 打开,而永不按钮不会 link 到 android 设置。
- 我通过使用另一个插件来处理打开定位服务来解决问题,该插件没有“从不”选项。
The app successfully asked user for geolocation permission, but when user clicks NEVER in the dialog, the app fails to ask again.
这是 Android 6.0 的预期行为:一旦用户通过选中 "Never ask again" 框永久拒绝权限,则不允许该应用以编程方式通过对话框提示用户。
唯一的选择是指导用户如何通过“设置”页面手动允许权限。为此,您可以使用 switchToSettings()
from cordova-diagnostic-plugin 将用户切换到您应用的设置页面。
After the user clicking NEVER, the geolocation premission for our app in the Android App permissions is still enabled. (toggling that doesn't help)
不应该是这种情况:通过应用程序设置页面手动允许权限将允许应用程序使用该功能。您可以使用 Android permissions example app for cordova-diagnostic-plugin. However, it depends how the plugin you are using to handle the permission requests responds to the "never ask again" situation. It maybe that you need to use cordova-diagnostic-plugin 手动检查权限状态并切换到应用程序设置页面(如果是 DENIED_ALWAYS。
自己确认这一点
我正在 Android phone 版本 6.0.1 上开发 Ionic 应用程序,我遇到了有关地理定位权限的问题。
- 应用程序成功请求用户提供地理定位权限,但当用户在对话框中单击“从不”时,应用程序无法再次请求。
- 用户点击 NEVER 后,我们应用程序在 Android 应用程序权限中的地理定位权限仍然启用。 (切换没有帮助)
- 只能重新安装应用程序,应用程序再次请求权限。
解决方案:
- 对话框要求启用位置而不是请求许可。
- 对话框由插件 https://github.com/mapsplugin/cordova-plugin-googlemaps 打开,而永不按钮不会 link 到 android 设置。
- 我通过使用另一个插件来处理打开定位服务来解决问题,该插件没有“从不”选项。
The app successfully asked user for geolocation permission, but when user clicks NEVER in the dialog, the app fails to ask again.
这是 Android 6.0 的预期行为:一旦用户通过选中 "Never ask again" 框永久拒绝权限,则不允许该应用以编程方式通过对话框提示用户。
唯一的选择是指导用户如何通过“设置”页面手动允许权限。为此,您可以使用 switchToSettings()
from cordova-diagnostic-plugin 将用户切换到您应用的设置页面。
After the user clicking NEVER, the geolocation premission for our app in the Android App permissions is still enabled. (toggling that doesn't help)
不应该是这种情况:通过应用程序设置页面手动允许权限将允许应用程序使用该功能。您可以使用 Android permissions example app for cordova-diagnostic-plugin. However, it depends how the plugin you are using to handle the permission requests responds to the "never ask again" situation. It maybe that you need to use cordova-diagnostic-plugin 手动检查权限状态并切换到应用程序设置页面(如果是 DENIED_ALWAYS。
自己确认这一点