Android 百度地图 HttpClient: Catch connection exception, INNER_ERROR

百度地图官网链接

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)更改网络安全配置如下:

  • 1.在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下:


    

  • 2.接着,在AndroidManifest.xml文件下的application标签增加以下属性:

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

你可能感兴趣的:(Android 百度地图 HttpClient: Catch connection exception, INNER_ERROR)