public class ReferenceManager extends java.lang.Object implements IExtensionModule, IExtensionEventWatcher
Modifier and Type | Class and Description |
---|---|
static interface |
ReferenceManager.ReferenceStatusListener |
Constructor and Description |
---|
ReferenceManager() |
Modifier and Type | Method and Description |
---|---|
java.util.List<IEmoticonTab> |
getEmoticonTabs()
在会话中可以配置多个表情 tab,也可以配置单个表情 tab。
配置后,所有的会话中都会显示此 tab。
注意:如果用户没有配置表情,此方法可以不用实现。
|
static ReferenceManager |
getInstance() |
java.util.List<IPluginModule> |
getPluginModules(Conversation.ConversationType conversationType)
用户可以根据不同的会话,配置 “+” 号区域插件。
可以配置一个插件,也可以同时配置多个插件。extension 展示所有返回的插件列表。
注意:如果用户没有配置插件,此方法可以不用实现。
|
UiMessage |
getUiMessage() |
void |
onAttachedToExtension(Fragment fragment,
RongExtension extension)
进入会话后,Extension 加载所有注册的 module。
module 可以持有并使用 Extension.
|
void |
onDeleteClick(Conversation.ConversationType type,
java.lang.String targetId,
android.widget.EditText editText,
int cursorPos) |
void |
onDestroy(Conversation.ConversationType type,
java.lang.String targetId) |
void |
onDetachedFromExtension()
退出会话,Extension 释放所有已加载的 module。
注意:如果 module 持有 Extension 对象,需要在该回调时释放,否则会有内存泄露。
|
void |
onDisconnect()
SDK 断开连接。
|
void |
onInit(android.content.Context context,
java.lang.String appKey)
SDK 初始化。
用户可以在该方法中注册自定义消息、注册消息模板、初始化自己的模块。
|
void |
onReceivedMessage(Message message)
SDK 接收到消息后,通过此方法路由给对应的模块去处理。
用户可以根据自己注册的消息,有选择性的去处理接收到的消息。
|
void |
onSendToggleClick(Message message)
Extension 模块点击发送按钮时的预处理,其它模块可以通过此回调设置附加信息到 Extension
|
void |
onTextChanged(android.content.Context context,
Conversation.ConversationType type,
java.lang.String targetId,
int cursorPos,
int count,
java.lang.String text)
输入框文本变化时的回调
|
void |
removeReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener) |
void |
setReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener) |
public static ReferenceManager getInstance()
public void setReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener)
public void removeReferenceStatusListener(ReferenceManager.ReferenceStatusListener listener)
public void onInit(android.content.Context context, java.lang.String appKey)
IExtensionModule
onInit
in interface IExtensionModule
context
- 上下文appKey
- 应用唯一 key。public void onAttachedToExtension(Fragment fragment, RongExtension extension)
IExtensionModule
onAttachedToExtension
in interface IExtensionModule
fragment
- Extension 对象所在的 fragment.extension
- Extension 对象。public void onDetachedFromExtension()
IExtensionModule
onDetachedFromExtension
in interface IExtensionModule
public void onReceivedMessage(Message message)
IExtensionModule
onReceivedMessage
in interface IExtensionModule
message
- 消息实体。public java.util.List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType)
IExtensionModule
getPluginModules
in interface IExtensionModule
conversationType
- 会话类型。public java.util.List<IEmoticonTab> getEmoticonTabs()
IExtensionModule
getEmoticonTabs
in interface IExtensionModule
public void onDisconnect()
IExtensionModule
onDisconnect
in interface IExtensionModule
public void onTextChanged(android.content.Context context, Conversation.ConversationType type, java.lang.String targetId, int cursorPos, int count, java.lang.String text)
IExtensionEventWatcher
onTextChanged
in interface IExtensionEventWatcher
public void onSendToggleClick(Message message)
IExtensionEventWatcher
onSendToggleClick
in interface IExtensionEventWatcher
message
- extension 模块点击发送按钮时构建的初始消息。其它模块可以更改该消息里的配置。public void onDestroy(Conversation.ConversationType type, java.lang.String targetId)
onDestroy
in interface IExtensionEventWatcher
public void onDeleteClick(Conversation.ConversationType type, java.lang.String targetId, android.widget.EditText editText, int cursorPos)
onDeleteClick
in interface IExtensionEventWatcher
public UiMessage getUiMessage()