美文网首页
Android 百度地图 HttpClient: Catch c

Android 百度地图 HttpClient: Catch c

作者: yyg | 来源:发表于2018-12-03 11:17 被阅读76次

    百度地图官网链接

    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,会存在加密、解密的过程,可能会影响效率。

    相关文章

      网友评论

          本文标题:Android 百度地图 HttpClient: Catch c

          本文链接:https://www.haomeiwen.com/subject/dmzecqtx.html