百度地图使用的异常解决

APP Scode码校验失败

首先,当应用出现如下错误时,为APP Scode码校验失败

Line 853: 11-02 16:27:11.529 E/baidumapsdk(24212): Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
Line 9527: 11-02 16:27:27.889 E/baidumapsdk(24512): Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
Line 13984: 11-02 16:27:35.989 E/baidumapsdk(24735): Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败

解决方案:
需要检查一下百度API_KEY是否正确匹配,若有问题可以重新申请一下。

退出百度地图时应用crash

场景如下:在应用A通过Icon点击跳转到百度地图定位页面(自己封装MapView实现),返回时,应用A异常crash退出。
异常日志如下:

10-31 17:22:11.977 D/baidu_location_service(29564): baidu location service stop ...
10-31 17:22:12.007 I/Process (29564): Sending signal. PID: 29564 SIG: 9
10-31 17:22:12.096 I/WindowState( 2102): WIN DEATH: Window{2ca4ddb4 u0 com.mcptt/com.mcptt.main.MainActivity}
10-31 17:22:12.096 D/WifiService( 2102): Client connection lost with reason: 4
10-31 17:22:12.105 I/ActivityManager( 2102): Process com.mcptt (pid 29564) has died

问题原因:
1.在Manifest中配置Service时,没有使用android:process=”:remote”属性。正常应该是使用该属性的。
remote属性会将Service放到一个独立的进程。
除非特殊情况下,没使用remote,此时就具备了问题出现的第一个条件了。
2. 在配置百度地图的参数时,有如下属性:

LocationClientOption option = new LocationClientOption();
option.setIgnoreKillProcess(false);// 可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
//可选,定位SDK内部是一个service,并放到了独立进程。
//设置是否在stop的时候杀死这个进程,默认(建议)不杀死,即setIgnoreKillProcess(true)

从上面说明可以看出,setIgnoreKillProcess默认为true,不杀死该进程。设置为false,则会杀死该进程,而从第一条可以说明没有起独立的remote进程,此处又要杀死remote进程,所以就出了问题。

解决方案:
设置:setIgnoreKillProcess(true),或注释掉此行代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值