红包模块自定义

自定义红包模块,去除默认的转账 plugin
发布时间: 2018-12-18 15:52

回答:

在执行 SDK 的 init 后,添加下面的红包模块处理代码:

List<IExtensionModule> extensionModules = RongExtensionManager.getInstance().getExtensionModules();
IExtensionModule redPacketModule = null;
int redPacketModuleIndex = 0;
for (int i = 0; i < extensionModules.size(); i++) {
    IExtensionModule extensionModule = extensionModules.get(i);
    if (extensionModule instanceof JrmfExtensionModule) {
        redPacketModule = extensionModule;
        redPacketModuleIndex = i;
    }
}
if (redPacketModule != null) {
    RongExtensionManager.getInstance().unregisterExtensionModule(redPacketModule);
    RongExtensionManager.getInstance().registerExtensionModule(redPacketModuleIndex, new JrmfExtensionModule() {
        @Override
        public List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType) {
            List<IPluginModule> pluginModules = super.getPluginModules(conversationType);
            Iterator<IPluginModule> iterator = pluginModules.iterator();
            while (iterator.hasNext()) {
                // 如果转账 plugin ,去除之
                if (iterator.next() instanceof TransferAccountPlugin) {
                    iterator.remove();
                }
            }
            return pluginModules;
        }
    });


我对此仍有疑问!继续追问