Android 定位SDK 缺少定位权限怎么办?

当系统提示缺少定位权限时,可按照如下步骤进行检查:

1、检查AndroidManifest.xml中是否进行了权限配置,配置的内容和位置是否正确;

使用定位时需要的全部权限:(可直接复制粘贴到工程中)

<!--获取运营商信息,用于支持提供运营商信息相关的接口--> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<!--用于访问wifi网络信息,wifi信息会用于进行网络定位--> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/> 
<!-- 请求网络 --> <uses-permission android:name="android.permission.INTERNET"/> 
<!-- 更改设置 --> <uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
<!--用于进行网络定位--> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<!-- 可以提高室内定位的精确度 --> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 
<!-- 可以提高室内定位的精确度 --> 
<uses-permission android:name="android.permission.BLUETOOTH"/> 
<!--用于访问GPS定位--> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<!--用于提高GPS定位速度--> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/> 
<!--写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据--> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<!--读取缓存数据--> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<!--用于读取手机当前的状态--> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

2、app是否需要运行时申请权限(主要检查targetSdkVersion是否>=23),如果需要检测运行时权限,需要检查一下代码中是否写了运行时申请权限的代码,运行时申请权限的代码可以参照官网定位Demo中Location_Activity和CheckPermissionsActivity。

注意:运行时权限申请在Android 6.0以上系统中才会起作用,Android 6.0以下的手机仍然使用以前的权限检查体系;

可参考:Android 6.0动态申请权限

3、检查手机上自带的管理软件是否将app的定位权限禁用了,如果禁用了需要改为允许定位权限;

4、手机上是否装了第三方安全软件,且安全软件将app的定位权限禁止了,如果存在类似情况请将定位权限设置为允许。

如以上内容仍未解决您的问题,请创建工单
返回顶部 示例中心 常见问题 智能客服 公众号
二维码