Android 百度地图 HttpClient: Catch c

2018-12-03  本文已影响76人  yyg

百度地图官网链接

1、支持HTTPS

地图SDK自v4.5.0起支持HTTPS协议,开发者可以通过setHttpsEnable(boolean isEnable);控制是否使用https,默认使用http协议。

如果使用默认的http协议,由于Android P(包含更高版本)系统禁止使用所有未加密的连接,所以再使用检索功能(poi检索,路线规划,行政区域检索,地理编码,逆地理编码)会返回error.SEARCH_SERVER_INTERNAL_ERROR。并有如下异常信息:

W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted
针对该问题有以下三种解决方案如下:

(1)初始化时改用https请求(建议);

(2)targetSdkVersion 降到27以下;

(3)更改网络安全配置如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
<application
...
 android:networkSecurityConfig="@xml/network_security_config"
...
    />

注意:使用https,会存在加密、解密的过程,可能会影响效率。

上一篇下一篇

猜你喜欢

热点阅读