Mag*_*gon 3 android cordova android-permissions ionic-framework cordova-plugins
我想要完成的事情:
如果用户的位置服务阻止我默认获取他/她手机的位置,我想询问16-25之间的每个API的位置许可(Android 4.1.2-7.1.1 )
因为在iOS上我没有遇到这个问题我想专注于android.
我已经尝试过的:
<uses-permission android:name="android.premission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.premission.ACCESS_FINE_LOCATION" />上面提到的插件总是返回,hasPermission: true即使在设备上拒绝访问位置,所以它对我不起作用.
我还没有尝试过:
诊断插件说明我已经在我的理解中选择了API 23及以上或API 22及以下.(<preference name="android-targetSdkVersion" value="22"/>是最低目标版本.)但我不知道它是否仍适用于较低的API版本.
我的设置:
Dav*_*den 10
诊断插件说明我已经在我的理解中选择了API 23及以上或API 22及以下.(是最低目标版本.)但我不知道它是否仍适用于较低的API版本.
cordova-diagnostic-plugin API级别要求基于用于构建的SDK版本,而不是目标设备上运行的API版本.因此,使用SDK for API 23构建的应用程序(Android 6.0)仍将适用于运行旧版Android的设备.
您需要将构建目标设置为API 23(或更高版本)以使用插件的主要版本(cordova.plugins.diagnostic而不是)进行构建,cordova.plugins.diagnostic.api-22因为它包含需要API 23+构建环境的运行时权限代码.
如果用户的位置服务阻止我默认获取他/她手机的位置,我想询问16-25之间的每个API的位置许可(Android 4.1.2-7.1.1)
这有两个不同的方面:
要求16-25之间的每个API的位置权限(Android 4.1.2-7.1.1)
API 23(Android 6.0)中引入了Android运行时权限
您可以使用isLocationAuthorized()检查应用是否具有位置授权.在运行Android 5(API 22)或更低版本的设备上调用它将始终返回TRUE,因为已在安装时授予权限.
您可以通过requestLocationAuthorization()请求运行时权限以使用位置.在运行Android 5(API 22)或更低版本的设备上调用它将不起作用,因为在安装时已授予权限.
定位服务阻止我获取他/她手机的位置
您可以使用isLocationEnabled()检查用户是否已关闭位置.
如果位置已关闭,您可以使用switchToLocationSettings()打开设备位置设置页面以允许用户启用位置服务,或者您可以使用cordova-plugin-request-location-accuracy来请求所需的位置准确度,而无需用户在位置设置页面上手动执行此操作.
免责声明:我是cordova-diagnostic-plugin和cordova-plugin-request-location-accuracy的作者.
| 归档时间: |
|
| 查看次数: |
7767 次 |
| 最近记录: |