如何实现动态加载删除android,关于android:融云IMKit-动态删除或添加plugin-的实现...
融云IMKit 動(dòng)靜刪除或增加plugin 的實(shí)現(xiàn)
在集成融云的過(guò)程中,因?yàn)槲业捻?xiàng)目要求比擬緊急,所以應(yīng)用了融云的IMKit (帶有UI界面的),然而因?yàn)閼?yīng)用融云方面的自帶的UI ,所以就會(huì)不可避免的就會(huì)有些自定義化的需要;
接下來(lái),我就我的項(xiàng)目中應(yīng)用到的 動(dòng)靜刪除或增加plugin 的計(jì)劃給大家介紹一下。ps:滿滿的私貨,官網(wǎng)文檔并沒(méi)有動(dòng)靜的形式。
第一步:須要先復(fù)寫 ConversationFragment ,在onCreateView 辦法中找到 RongExtension 控件 。
public class ConversationFragmentEx extends ConversationFragment {
private RongExtension rongExtension;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = super.onCreateView(inflater, container, savedInstanceState);
rongExtension = (RongExtension) v.findViewById(io.rong.imkit.R.id.rc_extension);
return v;
}
}
第二步:再?gòu)?fù)寫 initFragment 辦法獲取 targetId。(按需進(jìn)行獲取,若是不須要?jiǎng)t無(wú)需獲取)
@Override
protected void initFragment(Uri uri) {
super.initFragment(uri);
if (uri != null) {
String TargetId = uri.getQueryParameter("targetId");
}
}
第三步:而后再onResume辦法中依據(jù) targetId進(jìn)行刪除或減少(我的項(xiàng)目需要)
@Override
public void onResume() {
super.onResume();
List PluginModules = rongExtension.getPluginModules();
for(int i=0;i
if(PluginModules.get(i) instanceof DefaultLocationPlugin){
rongExtension.removePlugin(PluginModules.get(i));
}
}
}
若是想要減少,則能夠調(diào)用 mRongExtension.addPlugin 進(jìn)行增加。
通過(guò)以上步驟就能夠?qū)崿F(xiàn)動(dòng)靜增加或者刪除 plugin;
總結(jié)
以上是生活随笔為你收集整理的如何实现动态加载删除android,关于android:融云IMKit-动态删除或添加plugin-的实现...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux基础命令(-)
- 下一篇: 域名解析服务之DNS查询类型