百度地图接口,最新颁布了“隐私合规接口”。就是在百度地图获得定位时,要用户同意定位。
<百度Android定位SDK自v9.2.9版本起增加了隐私合规接口,使用方式发生了改变,与旧版本不兼容,请务必确保用户同意隐私政策后调用setAgreePrivacy接口以进行SDK初始化之前的准备工作>
首先实例化LocationClient时,需要捕获异常信息
try {
mLocationClient= new LocationClient(getApplicationContext());
} catch(Exception e) {
}
获取异常后你会发现,一直进入catch并无法运行try的代码,因为抛出异常了 使用e.toString 会发现异常是:java.lang.Exception: The location function has been stopped because you do not agree with the privacy compliance policy. Please recheck the setAgreePrivacy interface 就是因为定位没有获得用户允许,所以在初始化LocationClient前(try外面)添加代码 LocationClient.setAgreePrivacy(true
LocationClient.setAgreePrivacy(true);
public LocationClient mLocationClient = null;
public LocationClient mLocationClient = null;
private MyLocationListener myListener = new MyLocationListener();
//setAgreePrivacy接口需要在LocationClient实例化之前调用
//如果setAgreePrivacy接口参数设置为了false,则定位功能不会实现
//true,表示用户同意隐私合规政策
//false,表示用户不同意隐私合规政策
);