標籤:android apkplug 模組化 外掛程式 輕應用
上一篇文章成功的將apkplug架構嵌入了應用中並且啟動 連結http://www.apkplug.com/blog/?post=10 這一篇文章實現如何擷取所有已安裝外掛程式
一 擷取架構的SystemBundle的上下文BundleContext
apkplug架構啟動會自動建立一個SystemBundle, 它是架構的第一個外掛程式不可停止和卸載,通過它我們可以與apkplug和其他外掛程式通訊
FrameworkInstance.getSystemBundle() 便可以擷取到SystemBundle但它沒有太大意義,我們需要擷取它的運行上下文BundleContext
BundleContext context =frame.getSystemBundleContext();
二 通過BundleContext擷取已安裝外掛程式
for(int i=0;i<context.getBundles().length;i++)
{
//擷取已安裝外掛程式
//列印外掛程式資訊
StringBuffer sb=new StringBuffer();
sb.append("\n外掛程式名稱:"+b.getName());
sb.append("\n外掛程式應用程式名稱:"+b.getSymbolicName());
sb.append("\n外掛程式版本:"+b.getVersion());
sb.append("\n外掛程式ID:"+b.getBundleId());
sb.append("\n外掛程式目前狀態:"+b.getState());
sb.append("\n外掛程式啟動Activity:"+b.getBundleActivity());
System.out.println(sb.toString());
}
這樣我們就擷取到所有已安裝的外掛程式,並且我們可以通過Bundle擷取外掛程式資訊或操作這些外掛程式(啟動,卸載,啟動外掛程式Activity等)
官網www.apkplug.com
QQ交流群:132433459