文档导航
Android
SDK 版本:  5.X
公告:融云新文档中心已上线,欢迎到新文档中心阅读 Android IMLibAndroid IMKit 的文档。

页面事件监听

更新时间:2024-02-26 PDF

页面事件监听

IMKit 支持监听会话列表页面和会话页面上的点击、长按事件,应用程序可以相应的方法中拦截并实现自定义需求。

监听会话列表页面事件

IMKit 提供了会话列表监听器 ConversationListBehaviorListener,可监听会话列表中针对会话 item 和会话头像的长按与点击事件。

使用 RongIMIMCentersetConversationListBehaviorListener 方法设置监听器。

RongIM.setConversationListBehaviorListener(listener);
              
已复制
1

长按会话事件

在会话列表中长按会话 item 时触发以下方法。SDK 默认弹出菜单选项。

boolean onConversationLongClick(Context context, View view, BaseUiConversation conversation)
              
已复制
1

参数 类型 说明
context Context 上下文
view View 触发点击的 View
conversation BaseUiConversation 长按的会话

如果需要自定义处理此长按事件,返回 true;否则返回 false,继续执行 SDK 默认逻辑。

点击会话事件

在会话列表中点击会话 item 时触发以下方法。触发该点击事件时,SDK 默认跳转逻辑如下:

  • 如果是聚合会话,跳转到聚合会话列表页面。
  • 如果是非聚合会话,跳转到会话页面。
boolean onConversationClick(Context context, View view, BaseUiConversation conversation)
              
已复制
1

参数 类型 说明
context Context 上下文
view View 触发点击的 View
conversation BaseUiConversation 点击的会话

如果需要自定义处理此长按事件,返回 true;否则返回 false,继续执行 SDK 默认逻辑。

点击会话头像事件

点击会话头像(图标)时触发以下方法。SDK 没有默认不处理该事件。

boolean onConversationPortraitClick(Context context, Conversation.ConversationType conversationType, String targetId)
              
已复制
1

参数 类型 说明
context Context 上下文
conversationType Conversation.ConversationType 会话类型
targetId String 会话 Id

如果需要自定义处理此点击事件,返回 true。否则返回 false,不处理该事件。

长按会话头像的事件

长按会话头像(图标)时触发以下方法。SDK 默认不处理该事件,直接将结果返回给系统。

boolean onConversationPortraitLongClick(Context context, Conversation.ConversationType conversationType, String targetId)
              
已复制
1

参数 类型 说明
context Context 上下文
conversationType Conversation.ConversationType 会话类型
targetId String 会话 Id

如果需要自定义处理此长按事件,请返回 true。否则返回 false,不处理该事件。

监听会话页面事件

IMKit 提供了会话列表监听器 ConversationClickListener,可监听会话页面中针对消息 item 和消息头像的长按与点击事件。

使用 RongIMIMCentersetConversationClickListener 方法设置监听器。

IMCenter.setConversationClickListener(listener);
              
已复制
1

点击消息事件

boolean onMessageClick(Context context, View view, Message message);
              
已复制
1

参数 类型 说明
context Context 上下文
view View 触发点击的 View
message Message 被点击的消息的实体信息

如果用户自己处理了点击后的逻辑处理,则返回 true;否则返回 false,继续执行 SDK 的默认逻辑。

长按消息事件

boolean onMessageLongClick(Context context, View view, Message message);
              
已复制
1

参数 类型 说明
context Context 上下文
view View 触发点击的 View
message Message 被点击的消息的实体信息

如果用户自己处理了长按后的逻辑处理,则返回 true;否则返回 false,继续执行 SDK 默认逻辑。

点击消息上的用户头像事件

boolean onUserPortraitClick(
        Context context,
        Conversation.ConversationType conversationType,
        UserInfo user,
        String targetId);
              
已复制
1
2
3
4
5

参数 类型 说明
context Context 上下文
conversationType Conversation.ConversationType 会话类型
user UserInfo 被点击的用户的信息
targetId String 会话 Id

如果自己处理了点击后的逻辑处理,则返回 true;否则返回 false,继续执行 SDK 默认逻辑。

长按消息上的用户头像事件

长按消息上的用户头像(图标)时触发以下方法。SDK 默认跳转到 @功能的选择用户界面。

boolean onUserPortraitLongClick(
        Context context,
        Conversation.ConversationType conversationType,
        UserInfo user,
        String targetId);
              
已复制
1
2
3
4
5

参数 类型 说明
context Context 上下文
conversationType Conversation.ConversationType 会话类型
user UserInfo 被点击的用户的信息
targetId String 会话 Id

如果用户自己处理了点击后的逻辑处理,则返回 true;否则返回 false,继续执行 SDK 的默认逻辑。

点击消息超链接事件

boolean onMessageLinkClick(Context context, String link, Message message);
              
已复制
1

参数 类型 说明
context Context 上下文
link String 被点击的链接
message Message 被点击的消息的实体信息

如果用户自己处理了点击后的逻辑处理,则返回 true;否则返回 false,继续执行 SDK 默认逻辑。

点击已读回执状态事件

boolean onReadReceiptStateClick(Context context, Message message);
              
已复制
1

参数 类型 说明
context Context 上下文
message Message 被点击的消息的实体信息

如果用户自己处理了长按后的逻辑处理,则返回 true;否则返回 false,继续执行 SDK 默认逻辑。

点击常用语按钮事件

提示

要求 IMKit 版本 ≧ 5.6.3。

如果启用了 IMKit 快捷回复 功能,用户在会话页面点击常用语按钮后会弹出快捷回复。如需拦截该点击事件,返回 true,您可以自定义点击常用语按钮后的逻辑;否则返回 false,继续执行 SDK 默认逻辑。

default boolean onQuickReplyClick(Context context) {
    return false;
}
              
已复制
1
2
3

文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈