IM 即时通讯 (442)
Android (209)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (16)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (34)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (168)
- SDK 导入 (10)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (4)
- 音视频 (3)
- 其他 (22)
Web (36)
Server (29)
集成了CallKit,但是想隐藏RongExtension中语音聊天和视频聊天Plugin按钮
开通音视频服务后安卓端IMKIT能否隐藏音视频通话按钮?
实现只允许web端主动发起与Android端的视频请求,屏蔽Android端之间互相开视频。
发布时间: 2018-01-02 10:23
回答:
自定义一个 ExtensionModule 继承自 DefaultExtensionModule,复写其中的 getPluginModules() 方法
public class MyExtensionModule extends DefaultExtensionModule { @Override public List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType) { List<IPluginModule> pluginModules = super.getPluginModules(conversationType); Iterator<IPluginModule> iterator = pluginModules.iterator(); while (iterator.hasNext()) { IPluginModule plugin = iterator.next(); if (plugin instanceof AudioPlugin || plugin instanceof VideoPlugin) { iterator.remove(); } } return pluginModules; } }
2. 在初始化之后,取消 SDK 默认的 ExtensionModule,注册自定义的 ExtensionModule
private void setMyExtensionModule() { 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()); } } }
参考:http://rongcloud.cn/docs/android.html#ui_customize_extension