Android 请求位置许可
我想完成的事情:Android 请求位置许可,android,cordova,ionic-framework,cordova-plugins,android-permissions,Android,Cordova,Ionic Framework,Cordova Plugins,Android Permissions,我想完成的事情: 如果默认情况下用户的位置服务阻止我获取他/她的手机位置,我希望在16-25(Android 4.1.2-7.1.1)之间的每个API上请求位置权限 因为在iOS上我没有遇到过这个问题,所以我想把重点放在android上 我已经尝试过的: 上面提到的插件总是以haspowmission:true返回,即使设备上的位置访问被拒绝,所以它对我不起作用 我尚未尝试的内容: 诊断插件描述说,据我所知,我可以在API 23及以上版本或API 22及以下版本中进行选择。(是最
如果默认情况下用户的位置服务阻止我获取他/她的手机位置,我希望在16-25(Android 4.1.2-7.1.1)之间的每个API上请求位置权限
因为在iOS上我没有遇到过这个问题,所以我想把重点放在android上
我已经尝试过的:
haspowmission:true
返回,即使设备上的位置访问被拒绝,所以它对我不起作用我尚未尝试的内容:
是最低的目标版本。)但我不知道它是否仍然适用于较低的API版本。我的设置:
- Cordova CLI:6.2.0
- Gulp CLI和本地:3.9.1
- 离子骨架:1.3.1
- 爱奥尼亚CLI:1.7.16
- 节点:4.2.2
- 安卓设备:5.0.1
- 预期建造目标:16
- 当前建设目标:22
cordova.plugins.diagnostic
,而不是cordova.plugins.diagnostic.API-22
),因为它包含需要API 23+构建环境的运行时权限代码
如果用户的位置服务在默认情况下阻止我获取他/她的手机位置,我希望在16-25(Android 4.1.2-7.1.1)之间的每个API上请求位置许可
这有两个不同的方面:
在16-25(Android 4.1.2-7.1.1)之间的每个API上请求位置许可
API 23(Android 6.0)中引入了Android运行时权限
您可以使用检查应用程序是否具有位置授权。
在运行Android 5(API 22)或更低版本的设备上调用它将始终返回TRUE,因为在安装时已经授予了权限
您可以请求运行时权限以使用位置。
在运行Android 5(API 22)或更低版本的设备上调用它将没有任何效果,因为在安装时已经授予了权限
位置服务阻止我获取他/她的手机位置
您可以使用检查用户是否已关闭位置
如果位置已关闭,则可以使用打开“设备位置设置”页面以允许用户启用位置服务,也可以使用请求所需的位置精度,而无需用户在“位置设置”页面上手动执行此操作
免责声明:我是和的作者。现在一切正常!非常感谢@DaveAlden对您的大力支持和对各种可能性的总结!嗨,达维登!也许你会帮助我!我有一个使用地理定位的应用程序。在新版本发布之前,一切正常。新版本包含谷歌说我们应该做的清单更改(使用hardware.location.gps功能)。现在我的应用程序无法获取当前位置:/I我的清单文件中有这些文件:ACCESS\u LOCATION\u EXTRA\u命令ACCESS\u Rough\u LOCATION ACCESS\u FINE\u LOCATION android.hardware.LOCATION.gps android.hardware.LOCATION.Network当我使用您的诊断插件时,一切似乎都正常。这些方法返回true或关于高精度的信息:getLocationAuthorizationStatus isNetworkLocationEnabled isNetworkLocationAvailable isGpsLocationEnabled isGpsLocationAvailable getLocationMode requestLocationAuthorization isLocationEnabled IsLocationAuthorizationIsLocationAvailable仍然可用,当我尝试获取位置时,结果是“位置被拒绝”。这个问题出现在Android 4.3、4.4、5.0和5.1上。有时也出现在6.x上。我的应用程序能够在某些设备上获取位置,但在其他设备上它失败。