java.lang.RuntimeException: java.lang.Exception: The location function has been stopped because you do not agree with the privacy compliance policy. Please recheck the setAgreePrivacy interface
在启动的时候,还会报鉴权失败的问题(这里截图没有找到,之前一直报这个错),我一直以为是注册的key出问题,其实不是,然后App上点击地图的时候,同意隐私政策时候一直闪退,明明已经同意了获取定位的请求,但是还是一直闪退报错
java.lang.RuntimeException:java.lang.Exception:定位功能已停止,因为您不同意隐私合规策略。请重新检查setAgreementPrivacy界面
经过网上查找,主要是
百度地图接口,最新颁布了“隐私合规接口”。就是在百度地图获得定位时,要用户同意定位。
百度Android定位SDK自v9.2.9版本起增加了隐私合规接口,使用方式发生了改变,与旧版本不兼容,请务必确保用户同意隐私政策后调用setAgreePrivacy接口以进行SDK初始化之前的准备工作。
解决:在所用类底部加入如下代码
(注:实列化LocationClient 的时候,LocationClient mLocationClient = newLocationClient();
需要抛出异常)
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LocationClient.setAgreePrivacy(true);
//setAgreePrivacy接口需要在LocationClient实例化之前调用
//如果setAgreePrivacy接口参数设置为了false,则定位功能不会实现
//true,表示用户同意隐私合规政策
//false,表示用户不同意隐私合规政策
}
然后重新打包运行,你就能打开地图了(注意:记得真机调试哦~)
个人Android 开发开发时候遇到的问题,如有不对,请见谅,谢谢~~~