
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
可以参考如下代码来去掉某一个默认plugin
以file plugin为例
1.创建 MyExtensionModule
继承自 DefaultExtensionModule,复写其中的 getPluginModules()
方法, 增加或删除扩展项.
public class MyExtensionModule extends DefaultExtensionModule { @Override public List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType) { List<IPluginModule> pluginModules = super.getPluginModules(conversationType); ListIterator<IPluginModule> iterator = pluginModules.listIterator(); // 删除扩展项 while (iterator.hasNext()) { IPluginModule integer = iterator.next(); // 以删除 FilePlugin 为例 if (integer instanceof FilePlugin) { iterator.remove(); } } // 增加扩展项, 以 ImagePlugin 为例 pluginModules.add(new ConectionPlugin()); return pluginModules; }}
2.SDK 初始化之后,注销默认的 ExtensionModule,注册自定义的 MyExtensionModule
private void registerExtensionPlugin() { List<IExtensionModule> moduleList = RongExtensionManager.getInstance().getExtensionModules(); IExtensionModule defaultModule = null; if (moduleList != null) { for (IExtensionModule module : moduleList) { if (module instanceof DefaultExtensionModule) { defaultModule = module; break; } } if (defaultModule != null) { RongExtensionManager.getInstance().unregisterExtensionModule(defaultModule); RongExtensionManager.getInstance().registerExtensionModule(new MyExtensionModule()); } }}