插入本地消息

更新时间: 2024/03/19 11:48:51

网易云信 NIM Android SDK 的MsgService类,提供insertLocalMessage方法和saveMessageToLocalEx方法,两者均支持保存一条消息至本地数据库内,且通知更新 UI 界面,但不发出。

使用场景

本功能主要用于本地提示类消息的 UI 展示,如向群里插入一条群创建成功的提示消息。

前提条件

实现方法

这两个方法的原型如下:

/**
* 插入消息到本地数据库,且通知更新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);

具体的实现方法示例,请参见消息收发章节中的收发提示消息

此文档是否对你有帮助?
有帮助
去反馈
  • 使用场景
  • 前提条件
  • 实现方法