上一篇文章成功的将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等)
QQ交流群:132433459