Package io.rong.imkit.feature.reference
Class ReferenceManager
-
- All Implemented Interfaces:
-
io.rong.imkit.conversation.extension.IExtensionModule,io.rong.imkit.feature.mention.IExtensionEventWatcher
public class ReferenceManager implements IExtensionModule, IExtensionEventWatcher
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interfaceReferenceManager.ReferenceStatusListener
-
Constructor Summary
Constructors Constructor Description ReferenceManager()
-
Method Summary
Modifier and Type Method Description static ReferenceManagergetInstance()voidsetReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener)voidremoveReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener)voidonInit(Context context, String appKey)SDK 初始化。 用户可以在该方法中注册自定义消息、注册消息模板、初始化自己的模块。 voidonAttachedToExtension(Fragment fragment, RongExtension extension)进入会话后,Extension 加载所有注册的 module。 module 可以持有并使用 Extension. voidonDetachedFromExtension()退出会话,Extension 释放所有已加载的 module。 注意:如果 module 持有 Extension 对象,需要在该回调时释放,否则会有内存泄露。 voidonReceivedMessage(Message message)SDK 接收到消息后,通过此方法路由给对应的模块去处理。 用户可以根据自己注册的消息,有选择性的去处理接收到的消息。 List<IPluginModule>getPluginModules(Conversation.ConversationType conversationType)用户可以根据不同的会话,配置 “+” 号区域插件。 可以配置一个插件,也可以同时配置多个插件。extension 展示所有返回的插件列表。 注意:如果用户没有配置插件,此方法可以不用实现。 List<IEmoticonTab>getEmoticonTabs()在会话中可以配置多个表情 tab,也可以配置单个表情 tab。 配置后,所有的会话中都会显示此 tab。 注意:如果用户没有配置表情,此方法可以不用实现。 voidonDisconnect()SDK 断开连接。 voidonTextChanged(Context context, Conversation.ConversationType type, String targetId, int cursorPos, int count, String text)输入框文本变化时的回调 voidonSendToggleClick(Message message)Extension 模块点击发送按钮时的预处理,其它模块可以通过此回调设置附加信息到 Extension voidonDestroy(Conversation.ConversationType type, String targetId)booleanshowReferenceView(Context context, UiMessage uiMessage)显示引用消息栏 booleanshowReferenceView(Context context, UiMessage uiMessage, boolean showKeyBoard)显示引用消息栏 voidhideReferenceView()voidonDeleteClick(Conversation.ConversationType type, String targetId, EditText editText, int cursorPos)UiMessagegetUiMessage()-
-
Method Detail
-
getInstance
static ReferenceManager getInstance()
-
setReferenceStatusListener
void setReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener)
-
removeReferenceStatusListener
void removeReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener)
-
onInit
void onInit(Context context, String appKey)
SDK 初始化。 用户可以在该方法中注册自定义消息、注册消息模板、初始化自己的模块。
- Parameters:
context- 上下文appKey- 应用唯一 key。
-
onAttachedToExtension
void onAttachedToExtension(Fragment fragment, RongExtension extension)
进入会话后,Extension 加载所有注册的 module。 module 可以持有并使用 Extension. 注意:如果 module 持有 Extension 对象,需要在 onDetachedFromExtension 回调时释放,否则会有内存泄露。
- Parameters:
fragment- Extension 对象所在的 fragment.extension- Extension 对象。
-
onDetachedFromExtension
void onDetachedFromExtension()
退出会话,Extension 释放所有已加载的 module。 注意:如果 module 持有 Extension 对象,需要在该回调时释放,否则会有内存泄露。
-
onReceivedMessage
void onReceivedMessage(Message message)
SDK 接收到消息后,通过此方法路由给对应的模块去处理。 用户可以根据自己注册的消息,有选择性的去处理接收到的消息。
- Parameters:
message- 消息实体。
-
getPluginModules
List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType)
用户可以根据不同的会话,配置 “+” 号区域插件。 可以配置一个插件,也可以同时配置多个插件。extension 展示所有返回的插件列表。 注意:如果用户没有配置插件,此方法可以不用实现。
- Parameters:
conversationType- 会话类型。- Returns:
插件列表。
-
getEmoticonTabs
List<IEmoticonTab> getEmoticonTabs()
在会话中可以配置多个表情 tab,也可以配置单个表情 tab。 配置后,所有的会话中都会显示此 tab。 注意:如果用户没有配置表情,此方法可以不用实现。
- Returns:
表情 tab 列表。
-
onDisconnect
void onDisconnect()
SDK 断开连接。
-
onTextChanged
void onTextChanged(Context context, Conversation.ConversationType type, String targetId, int cursorPos, int count, String text)
输入框文本变化时的回调
-
onSendToggleClick
void onSendToggleClick(Message message)
Extension 模块点击发送按钮时的预处理,其它模块可以通过此回调设置附加信息到 Extension
- Parameters:
message- extension 模块点击发送按钮时构建的初始消息。其它模块可以更改该消息里的配置。
-
showReferenceView
boolean showReferenceView(Context context, UiMessage uiMessage)
显示引用消息栏
- Parameters:
context- 上下文uiMessage- 消息实体- Returns:
是否显示成功
-
showReferenceView
boolean showReferenceView(Context context, UiMessage uiMessage, boolean showKeyBoard)
显示引用消息栏
- Parameters:
context- 上下文uiMessage- 消息实体- Returns:
是否显示成功
-
hideReferenceView
void hideReferenceView()
-
onDeleteClick
void onDeleteClick(Conversation.ConversationType type, String targetId, EditText editText, int cursorPos)
-
getUiMessage
UiMessage getUiMessage()
-
-
-
-