android插件化-获取apkplug框架已安装插件-03

我们两清 提交于 2019-12-04 06:21:15

上一篇文章成功的将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 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!