原因分析
由于Android9.0取消了HttpClient请求,,但是之前的环信SDK版本中还使用HttpClient请求。所以导致发送消息时造成软件闪退
解决办法
-
1、升级环信SDK,当前使用的为hyphenatechat_3.7.0
针对这个方法对于我来讲有点麻烦,由于我在原基础SDK上有做修改,直接更换SDK需要修改太多所以就找了其他办法。(不过还是推荐大家跟随环信官方升级) -
2、让Android9.0支持HttpClient请求
AndroidManifest进行修改,内容如下:
以下两句用于Android9.0系统,由于9.0不支持httpClient请求,然后在当前版本环信上在发送图片或者语音时使用的是httpClient,所以解决办法是添加下面两句即可
android:usesCleartextTraffic="true"
<uses-library
android:name="org.apache.http.legacy"
android:required="false"/>
对应AndroidManifest.xml
<application
android:name=".base.App"
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/logo"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<uses-library
android:name="org.apache.http.legacy"
android:required="false"/>
</application>