标签:服务器端 清除 param 会话 融云 消息 Android final
融云 Android 端如何清空某一个会话的聊天记录
实现须知
没有开通 “历史消息云存储”,只能删除本地的数据。在融云控制台开通 “历史消息云存储功能” 后,才可以删除远端消息。
实现步骤
1.调用 cleanHistoryMessages 方法,cleanRemote 传 true ,recordTime 传 当前的时间戳。
/**
* 删除指定时间戳之前的消息,可选择是否同时删除服务器端消息
* <p>此方法从服务器端清除历史消息,但是必须先开通历史消息云存储功能。</p>
* <p>根据会话类型和 TargetId 清除某一会话指定时间戳之前的本地数据库消息(服务端历史消息),
* 清除成功后只能从本地数据库(服务端)获取到该时间戳之后的历史消息。</p>
*
* @param conversationType 会话类型。
* @param targetId 会话目标ID。
* @param recordTime 清除消息截止时间戳,【0 ~ 当前时间的 Unix 时间戳】。
* @param cleanRemote 是否删除服务器端消息
* @param callback 清除消息的回调。
*/
public void cleanHistoryMessages(final Conversation.ConversationType conversationType,
final String targetId,
final long recordTime,
final boolean cleanRemote,
final OperationCallback callback)
2.您使用的是 imlib ,还需要自行刷新您的界面。
3.您使用的是 imkit 调用 ConversationFragment 的 getMessageAdapter 方法,获取到会话界面消息展示适配器,移除数据并且刷新数据源。
mListAdapter.removeAll();
mListAdapter.notifyDataSetChanged();
4.卸载重装或者更换设备登陆后,历史消息还可以拉取到,来保证用户更换设备或者卸载重装后还可以有上下文。如果您不希望换端后再收到这些消息,您可以 提供一下 appkey 提交工单,我们帮您把这部分数据的缓存功能关闭。
标签:服务器端,清除,param,会话,融云,消息,Android,final 来源: https://www.cnblogs.com/imrtc/p/14623191.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。