Package io.rong.imlib.listener
Class OnReceiveMessageWrapperListener
-
- All Implemented Interfaces:
-
io.rong.imlib.IRongCoreListener.OnReceiveMessageListener
public abstract class OnReceiveMessageWrapperListener extends IRongCoreListener.OnReceiveMessageWrapperListener
接收消息的监听器。
此接口可以替换 IRongCoreListener.OnReceiveMessageListener 用于解决接收大量消息时,界面频繁刷新问题。 该接口会返回 left 和 hasPackage 参数,两者可以配合使用判断何时拉取完离线消息。
-
-
Constructor Summary
Constructors Constructor Description OnReceiveMessageWrapperListener()
-
Method Summary
Modifier and Type Method Description abstract void
onReceivedMessage(Message message, ReceivedProfile profile)
接收实时或者离线消息。 注意:请切换线程,处理耗时操作。 boolean
onReceived(Message message, int left, boolean hasPackage, boolean offline)
接收实时或者离线消息。 注意: 1. -
-
Method Detail
-
onReceivedMessage
abstract void onReceivedMessage(Message message, ReceivedProfile profile)
接收实时或者离线消息。 注意:请切换线程,处理耗时操作。
- Parameters:
message
- 接收到的消息对象profile
- ReceivedProfile,储存了 left(当客户端连接成功后,服务端会将所有补偿消息以消息包的形式下发给客户端,最多每 200 条消息为一个消息包,即一个 Package, 客户端接受到消息包后,会逐条解析并通知应用。left 为当前消息包(Package)里还剩余的消息条数), hasPackage(是否在服务端还存在未下发的消息包), offline(消息是否离线消息)
-
onReceived
boolean onReceived(Message message, int left, boolean hasPackage, boolean offline)
接收实时或者离线消息。
注意: 1. 针对接收离线消息时,服务端会将 200 条消息打成一个包发到客户端,客户端对这包数据进行解析。 2. hasPackage 标识是否还有剩余的消息包,left 标识这包消息解析完逐条抛送给 App 层后,剩余多少条。 如何判断离线消息收完: 1. hasPackage 和 left 都为 0; 2. hasPackage 为 0 标识当前正在接收最后一包(200条)消息,left 为 0 标识最后一包的最后一条消息也已接收完毕。
- Parameters:
message
- 接收到的消息对象left
- 当客户端连接成功后,服务端会将所有补偿消息以消息包的形式下发给客户端,最多每 200 条消息为一个消息包,即一个 Package, 客户端接受到消息包后,会逐条解析并通知应用。left 为当前消息包(Package)里还剩余的消息条数hasPackage
- 是否在服务端还存在未下发的消息包offline
- 消息是否离线消息- Returns:
是否处理消息。 如果 App 处理了此消息,返回
true
;否则返回false
由 SDK 处理。
-
-
-
-