IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
V2TIMMessageListGetOption

Public 成员函数

void setGetType (int getType)
 
void setUserID (String userID)
 
void setGroupID (String groupID)
 
void setCount (int count)
 
void setLastMsg (V2TIMMessage lastMsg)
 
void setLastMsgSeq (long lastMsgSeq)
 
void setGetTimeBegin (long getTimeBegin)
 
void setGetTimePeriod (long getTimePeriod)
 
int getGetType ()
 
String getUserID ()
 
String getGroupID ()
 
int getCount ()
 
V2TIMMessage getLastMsg ()
 
long getLastMsgSeq ()
 
long getGetTimeBegin ()
 
long getGetTimePeriod ()
 
void setMessageTypeList (List< Integer > messageTypeList)
 
List< Integer > getMessageTypeList ()
 
void setMessageSeqList (List< Long > messageSeqList)
 
List< Long > getMessageSeqList ()
 

静态 Public 属性

static final int V2TIM_GET_CLOUD_OLDER_MSG = 1
 
static final int V2TIM_GET_CLOUD_NEWER_MSG = 2
 
static final int V2TIM_GET_LOCAL_OLDER_MSG = 3
 
static final int V2TIM_GET_LOCAL_NEWER_MSG = 4
 

成员函数说明

◆ setGetType()

void setGetType ( int  getType)
inline

拉取消息类型,可以设置拉取本地、云端更老或者更新的消息。

注意
请注意

当设置从云端拉取时,会将本地存储消息列表与云端存储消息列表合并后返回。如果无网络,则直接返回本地消息列表。

关于 getType、拉取消息的起始消息、拉取消息的时间范围 的使用说明:

  • getType 可以用来表示拉取的方向:往消息时间更老的方向 或者 往消息时间更新的方向;
  • lastMsg/lastMsgSeq 用来表示拉取时的起点,第一次拉取时可以不填或者填 0;
  • getTimeBegin/getTimePeriod 用来表示拉取消息的时间范围,时间范围的起止时间点与拉取方向(getType)有关;
  • 当起始消息和时间范围都存在时,结果集可理解成:「单独按起始消息拉取的结果」与「单独按时间范围拉取的结果」 取交集;
  • 当起始消息和时间范围都不存在时,结果集可理解成:从当前会话最新的一条消息开始,按照 getType 所指定的方向和拉取方式拉取。
参数
getType拉取类型,取值为 V2TIM_GET_CLOUD_OLDER_MSG,V2TIM_GET_CLOUD_NEWER_MSG,V2TIM_GET_LOCAL_OLDER_MSG,V2TIM_GET_LOCAL_NEWER_MSG

◆ setUserID()

void setUserID ( String  userID)
inline

拉取单聊历史消息

◆ setGroupID()

void setGroupID ( String  groupID)
inline

拉取群组历史消息

◆ setCount()

void setCount ( int  count)
inline

拉取消息数量

◆ setLastMsg()

void setLastMsg ( V2TIMMessage  lastMsg)
inline

拉取消息的起始消息

注意
请注意

拉取 C2C 消息,只能使用 lastMsg 作为消息的拉取起点;如果没有指定 lastMsg,默认使用会话的最新消息作为拉取起点

拉取 Group 消息时,除了可以使用 lastMsg 作为消息的拉取起点外,也可以使用 lastMsgSeq 来指定消息的拉取起点,二者的区别在于:

  • 使用 lastMsg 作为消息的拉取起点时,返回的消息列表里不包含 lastMsg;
  • 使用 lastMsgSeq 作为消息拉取起点时,返回的消息列表里包含 lastMsgSeq 所表示的消息;
注意
在拉取 Group 消息时

如果同时指定了 lastMsg 和 lastMsgSeq,SDK 优先使用 lastMsg 作为消息的拉取起点

如果 lastMsg 和 lastMsgSeq 都未指定,消息的拉取起点分为如下两种情况: — 如果设置了拉取的时间范围,SDK 会根据 @getTimeBegin 所描述的时间点作为拉取起点 — 如果未设置拉取的时间范围,SDK 默认使用会话的最新消息作为拉取起点

◆ setLastMsgSeq()

void setLastMsgSeq ( long  lastMsgSeq)
inline

拉取群消息的起始 sequence。

◆ setGetTimeBegin()

void setGetTimeBegin ( long  getTimeBegin)
inline

拉取消息的时间范围

getTimeBegin 表示时间范围的起点;默认为 0,表示从现在开始拉取;UTC 时间戳,单位:秒

getTimePeriod 表示时间范围的长度;默认为 0,表示不限制时间范围;单位:秒

注意

时间范围的方向由参数 getType 决定

如果 getType 取 V2TIM_GET_CLOUD_OLDER_MSG/V2TIM_GET_LOCAL_OLDER_MSG,表示从 getTimeBegin 开始,过去的一段时间,时间长度由 getTimePeriod 决定

如果 getType 取 V2TIM_GET_CLOUD_NEWER_MSG/V2TIM_GET_LOCAL_NEWER_MSG,表示从 getTimeBegin 开始,未来的一段时间,时间长度由 getTimePeriod 决定

取值范围区间为闭区间,包含起止时间,二者关系如下:

  • 如果 getType 指定了朝消息时间更老的方向拉取,则时间范围表示为 [getTimeBegin-getTimePeriod, getTimeBegin]
  • 如果 getType 指定了朝消息时间更新的方向拉取,则时间范围表示为 [getTimeBegin, getTimeBegin+getTimePeriod]

◆ setGetTimePeriod()

void setGetTimePeriod ( long  getTimePeriod)
inline

拉取消息的时间范围

◆ getGetType()

int getGetType ( )
inline

◆ getUserID()

String getUserID ( )
inline

◆ getGroupID()

String getGroupID ( )
inline

◆ getCount()

int getCount ( )
inline

◆ getLastMsg()

V2TIMMessage getLastMsg ( )
inline

◆ getLastMsgSeq()

long getLastMsgSeq ( )
inline

◆ getGetTimeBegin()

long getGetTimeBegin ( )
inline

◆ getGetTimePeriod()

long getGetTimePeriod ( )
inline

◆ setMessageTypeList()

void setMessageTypeList ( List< Integer >  messageTypeList)
inline

拉取的消息类型集合,getType 为 V2TIM_GET_LOCAL_OLDER_MSG 和 V2TIM_GET_LOCAL_NEWER_MSG 有效,传 null 表示拉取全部类型消息,取值详见 @V2TIMMessage

◆ getMessageTypeList()

List<Integer> getMessageTypeList ( )
inline

◆ setMessageSeqList()

void setMessageSeqList ( List< Long >  messageSeqList)
inline

拉取群组历史消息时,支持按照消息序列号 seq 拉取(从 7.1 版本开始有效)

注意
  • 仅拉取群组历史消息时有效;
  • 消息序列号 seq 可以通过 V2TIMMessage 对象的 seq 字段获取;
  • 当 getType 设置为从云端拉取时,会将本地存储消息列表与云端存储消息列表合并后返回;如果无网络,则直接返回本地消息列表;
  • 当 getType 设置为从本地拉取时,直接返回本地的消息列表;
  • 当 getType 设置为拉取更旧的消息时,消息列表按照时间逆序,也即消息按照时间戳从大往小的顺序排序;
  • 当 getType 设置为拉取更新的消息时,消息列表按照时间顺序,也即消息按照时间戳从小往大的顺序排序。

◆ getMessageSeqList()

List<Long> getMessageSeqList ( )
inline

结构体成员变量说明

◆ V2TIM_GET_CLOUD_OLDER_MSG

final int V2TIM_GET_CLOUD_OLDER_MSG = 1
static

获取云端更老的消息

◆ V2TIM_GET_CLOUD_NEWER_MSG

final int V2TIM_GET_CLOUD_NEWER_MSG = 2
static

获取云端更新的消息

◆ V2TIM_GET_LOCAL_OLDER_MSG

final int V2TIM_GET_LOCAL_OLDER_MSG = 3
static

获取本地更老的消息

◆ V2TIM_GET_LOCAL_NEWER_MSG

final int V2TIM_GET_LOCAL_NEWER_MSG = 4
static

获取本地更新的消息