Android集成网易云信IM的2个坑及解决方法

云信 UI 组件(UIKit)

0、APP 直接调用 SDK 登陆方法,登录成功后,使用UIKit打开单聊页面出错。


Android集成网易云信IM的2个坑及解决方法_第1张图片

报错信息:


Android集成网易云信IM的2个坑及解决方法_第2张图片

报错信息显示:在UserInfoHelper类getUserTitleName方法中NimUIKit.getAccount()为空,即NimUIKitImpl.account为空


Android集成网易云信IM的2个坑及解决方法_第3张图片

(2)但使用UIKit提供的登录方法,进入聊天界面,没问题,这是怎么回事呢?


Android集成网易云信IM的2个坑及解决方法_第4张图片

点击到NimUIKit.login一直追寻下去,可以发现内部已经给NimUIKitImpl.account赋值了。


Android集成网易云信IM的2个坑及解决方法_第5张图片
Android集成网易云信IM的2个坑及解决方法_第6张图片


Android集成网易云信IM的2个坑及解决方法_第7张图片

所以解决方法很简单,登录成功后,调用NimUIKit.setAccount(登录成功后的账号);就可以了,当然也可以使用NimUIKit.loginSuccess(登录成功后的账号);其实都是一样的,最后到最后都为NimUIKitImpl.account赋值。

另外需记住一点,在Application中使用private LoginInfo  loginInfo() 自动登录时,也需加NimUIKit.setAccount(登录的账号);



Android集成网易云信IM的2个坑及解决方法_第8张图片

发现官方文档:NIM_Android_UIKit/documents/NimUikit定制化接口介绍.md, 有说明,只怪自己不小心看漏眼。


Android集成网易云信IM的2个坑及解决方法_第9张图片

1、聊天界面长按聊天信息,会报错:


Android集成网易云信IM的2个坑及解决方法_第10张图片

定位到导致报错的文件内容,结合源码可以分析出:信息撤回过滤器和转发过滤器没初始化。

Android集成网易云信IM的2个坑及解决方法_第11张图片

需加信息撤回过滤器和转发过滤器


Android集成网易云信IM的2个坑及解决方法_第12张图片

你可能感兴趣的:(Android笔记)