最近开发项目,遇到一个关于融云退出登录切换账号,聊天列表总是显示上一个人信息的bug
先看解决方案:
要在你代码中退出登录成功的地方一定要加一行代码!!!!!!
RongIM.getInstance().logout()
个人理解:用户退出重连,但是融云并没有真正的退出,因此信息还是展示上一个人的。
2、 在第一个帐号调用logout之后,activity调用finish()关闭activity,这样第二个帐号登录的时候activity和ConversationListFragment都会重新走生命周期重新加载。
3、如果因为种种原因不方便在logout的时候finish掉activity,那么可以在重新登录的时候在activity里使用下面代码重新加载fragment。
Uri uri = Uri.parse("rong://" + getApplicationInfo().packageName).buildUpon()
.appendPath("conversationlist")
.appendQueryParameter(Conversation.ConversationType.PRIVATE.getName(), "false") //设置私聊会话是否聚合显示
.appendQueryParameter(Conversation.ConversationType.GROUP.getName(), "true")//群组
.appendQueryParameter(Conversation.ConversationType.DISCUSSION.getName(), "false")//讨论组
.appendQueryParameter(Conversation.ConversationType.PUBLIC_SERVICE.getName(), "false")//公共服务号
.appendQueryParameter(Conversation.ConversationType.APP_PUBLIC_SERVICE.getName(), "false")//公共服务号
.appendQueryParameter(Conversation.ConversationType.SYSTEM.getName(), "false")//系统
.build();
mConversationListFragment.setUri(uri);
mConversationListFragment.onRestoreUI();
网友评论