插入本地消息
更新时间: 2024/03/19 11:48:51
网易云信 NIM Android SDK 的MsgService
类,提供insertLocalMessage
方法和saveMessageToLocalEx
方法,两者均支持保存一条消息至本地数据库内,且通知更新 UI 界面,但不发出。
使用场景
本功能主要用于本地提示类消息的 UI 展示,如向群里插入一条群创建成功的提示消息。
前提条件
- 已调用
observeMsgStatus
方法注册消息状态变化观察者。 - 已调用
MessageBuilder
中的方法,构建一条消息。
实现方法
这两个方法的原型如下:
/**
* 插入消息到本地数据库,且通知更新UI界面,但不发送到服务器端。发送一条可设置他人为发送方的本地消息给自己。
* 该接口将消息保存到数据库后,会通知到UI,此时会触发{@link MsgServiceObserve#observeReceiveMessage(Observer, boolean)}通知。
*
* @param msg 待插入的消息对象
* @param fromAccount 发送者ID
* @return InvocationFuture 可以设置回调函数。在消息存入数据库后,就会回调。
*/
InvocationFuture<Void> insertLocalMessage(IMMessage msg, String fromAccount);
/**
* 保存消息到本地数据库,但不发送到服务器端。可设置保存消息的时间 用于第三方APP保存本地提醒一类的消息。
* 该接口将消息保存到数据库后,如果需要通知到UI,可将notify设置为true,此时会触发{@link MsgServiceObserve.observeReceiveMessage(Observer, boolean)}通知。
*
* @param msg 待插入的消息对象
* @param notify 是否要通知
* @param time 设置该本地消息的时间
* @return InvocationFuture 可以设置回调函数。在消息存入数据库后,就会回调。
*/
InvocationFuture<java.lang.Void> saveMessageToLocalEx(IMMessage msg,boolean notify,long time);
具体的实现方法示例,请参见消息收发章节中的收发提示消息。
此文档是否对你有帮助?