IM 即时通讯 (439)
Android (207)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (15)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (33)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (167)
- SDK 导入 (9)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (25)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (3)
- 音视频 (4)
- 其他 (23)
Web (36)
Server (29)
如何去掉融云Kit里默认的Plugin,例如FilePlugin
回答:
可以参考如下代码来去掉某一个默认plugin
以file plugin为例
在初始化完成之后,使用如下代码
private void removeFilePlugin() {
List<IExtensionModule> moduleList = RongExtensionManager.getInstance().getExtensionModules();
Log.i(TAG, "moduleList.size() = " + moduleList);
if (moduleList != null) {
IExtensionModule module = null;
for (IExtensionModule extensionModule : moduleList) {
Log.i(TAG, "extensionModule.getClass().getSimpleName() = " + extensionModule.getClass().getSimpleName());
if (extensionModule instanceof DefaultExtensionModule) {
module = extensionModule;
break;
}
}
RongExtensionManager.getInstance().unregisterExtensionModule(module);//注销之前的
RongExtensionManager.getInstance().registerExtensionModule(new MyExtensionMoudle());//注册新的
List<IExtensionModule> moduleList2 = RongExtensionManager.getInstance().getExtensionModules();
Log.i(TAG, "moduleList.size() = " + moduleList2);
}
}
其中的MyExtensionMoudle类如下:
public class MyExtensionMoudle extends DefaultExtensionModule {
@Override
public List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType) {
List<IPluginModule> list = super.getPluginModules(conversationType);
IPluginModule temp = null;
for (IPluginModule module : list) {
if (module instanceof FilePlugin) {
temp = module;
break;
}
}
list.remove(temp);
return list;
}
}