示例中心
功能在线体验
控制台

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

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的定位权限禁止了,如果存在类似情况请将定位权限设置为允许。

示例中心 功能
在线体验
常见问题