问题描述
在Android平台中我们使用的是V2.2.4版的sdk,在使用自定义扩展消息时遇到在获取扩展消息时,如果一条消息中不存在指定的key时会发生崩溃问题。而sdk中并未找到检测是否含有指定的key的方法。请问哪位有好的解决办法。
解决方案
自定义ChatRow的话要自己去实现ChatRow的界面显示,不然会报错!
解决方案二:
我已经自己实现了ChatRow但是在某些情况下如果一条消息中缺少某个key时就会报错。这些情况包括对方发过来消息时由于程序错误导致的缺少某些key或者以前版本应用所发出的消息压根就没包含扩展消息的情况
解决方案三:
因为在解析扩展消息时,如果扩展没有会报null异常,所以如果你的消息有包含扩展和不包含的两种情况时,这个时候加一个必带的扩展,就是表示后边有没有其他扩展!
解决方案四:
首先我同意您说的是一种解决方法。但是依旧有出现问题的可能性。这个必带的扩展也有可能因为程序Bug的原因导致没有携带。而此时接收端却莫名的导致崩溃,这样使问题的原因变得非常不好定位。环信的sdk中对扩展消息的获取方法会抛出异常和设置默认值。但是我在实际使用过程中发现异常和默认值的解决方法根本就是无效的。不知道是不是环信的bug。
时间: 2024-09-20 19:42:27