地图标注 坐标转换 找不到so INVALID_USER_KEY INVALID_USER_SCODE
当系统提示缺少定位权限时,可按照如下步骤进行检查:
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以下的手机仍然使用以前的权限检查体系;
3、检查手机上自带的管理软件是否将app的定位权限禁用了,如果禁用了需要改为允许定位权限;
4、手机上是否装了第三方安全软件,且安全软件将app的定位权限禁止了,如果存在类似情况请将定位权限设置为允许。