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文件,文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
- 2.接着,在AndroidManifest.xml文件下的application标签增加以下属性:
<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
/>
注意:使用https,会存在加密、解密的过程,可能会影响效率。
网友评论