解决百度地图 SDK 升级后,在使用 MapView 进行展示时,在低版本手机上崩溃闪退

我的解决方案:替换项目原有的网络框架库 Vollery 改用 Retrofit。如果只想看解决方案的,到这里就可以了,以下我将会说明下我是怎么解决这个问题的。场景 项目中的百度 SDK 版本比较老旧 4.1.1 版本,因为有些 Android 机例如 华为 系列细化了定位权限,光应用申请到定位权限还不够,还会有一个叫 位置信息 的开关控制,而 4.1.1 版本不会区分是应用定位权限没开还是...
摘要由CSDN通过智能技术生成

我的解决方案:替换项目原有的网络框架库 Vollery 改用 Retrofit。

如果只想看解决方案的,到这里就可以了,以下我将会说明下我是怎么解决这个问题的。

场景 项目中的百度 SDK 版本比较老旧 4.1.1 版本,因为有些 Android 机例如 华为 系列细化了定位权限,光应用申请到定位权限还不够,还会有一个叫 位置信息 的开关控制,而 4.1.1 版本不会区分是应用定位权限没开还是位置信息没开。于是我升级百度 SDK 到 6.2.0 (目前最新的)。上述这个问题得到了解决,定位失败的提示语我也就优化好了。
新一期的版本迭代需要展示地图,也就是会用到 MapView 这个控件,按需求改好功能之后,进入地图页面直接闪退了,没有任何明确的异常抛出。然而我用 Android 9.0 的手机测试,却可以正常展示。

难道和系统版本有关?  我决定去百度官网下 demo 跑跑看,神奇的是 demo 在 9.0 和 有问题的那个手机(Android 4.4)上都正常,这么看来和系统没什么关系吧。我后来又找了 5.1.1,8.1,10.0 的系统分别进行测试,列了表格进行对比,发现 5.1.1 在逆地理编码解析上也出现了问题  javax.net.ssl.SSLHandshakeException: Handshake failed,HttpClient: Catch connection exception, INNER_ERROR。根据这个错误网上是可以查到跟百度地图相关的文章的,例如 https://www.jianshu.com/p/26c8590470a7,我也试着按这个方案去解决࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值