Class EditMessageManager

    • Constructor Detail

    • Method Detail

      • 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 列表。

      • exitEditMode

         void exitEditMode()

        退出编辑消息状态,清空编辑消息配置,并获取草稿。

      • editMessage

         void editMessage(EditText editText, IRongCoreCallback.OperationCallback callback)

        修改消息

      • 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 模块点击发送按钮时构建的初始消息。其它模块可以更改该消息里的配置。
      • onDeleteClick

         void onDeleteClick(Conversation.ConversationType type, String targetId, EditText editText, int cursorPos)
      • onDestroy

         void onDestroy(Conversation.ConversationType type, String targetId)
      • addMentionBlocks

         void addMentionBlocks(EditText editText, List<MentionBlock> mentionBlocks)

        RongMentionManager 重新绑定Edittext对应的MentionList。 MentionBlock:“@人名”对应输入框的起始位置。 在RongExtensionViewModel#setEditTextWidget重新绑定Edittext之后,需要调用此接口重新绑定MentionList。