android插件化-获取apkplug框架已安装插件-03
上一篇文章成功的将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
android插件化-获取apkplug框架已安装插件-03的更多相关文章
- Android插件化(使用Small框架)
github: https://github.com/cayden/MySmall Android插件化(使用Small框架) 框架源代码 1. Create Project File->New ...
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManag ...
- Android 插件化开发(四):插件化实现方案
在经过上面铺垫后,我们可以尝试整体实现一下插件化了.这里我们先介绍一下最简单的实现插件化的方案. 一.最简单的插件化实现方案 最简单的插件化实现方案,对四大组件都是适用的,技术面涉及如下: 1). 合 ...
- Android 使用动态加载框架DL进行插件化开发
http://blog.csdn.net/t12x3456/article/details/39958755/ 转载自: 时之沙: http://blog.csdn.net/t12x3456
- 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下: PackageManager packageManager = this.getPackageMana ...
- vue 搭建框架到安装插件依赖,Element、axios、qs等
一.使用vue 单页面开发,首先要安装好本地环境 步骤如下: 1 下载nodejs 安装 (此时npm 和 node环境都已经装好)2 安装淘宝镜像 npm install -g cnpm --reg ...
- Revit二次开发之获取本机已安装的Revit版本与路径
在revit安装目录下找到 RevitAddInUtility.dll 在项目中引用 使用以下方法 using Autodesk.RevitAddIns; /// <summary> // ...
- sublime -text 删除已安装插件
按ctr+shift +p然后输入remove 回车,再输入要删除的插件名
- Eclipse删除已安装插件
环境:(Windows) Eclipse 1.点击菜单"Help",选择"Install New Software",在弹出的对话框中选择"alrea ...
随机推荐
- (转)dedecms [field:array runphp='yes']标签使用技巧
field支持用array获取任意字段的值:(支持标记:文章内容模板的 {dede:field name=’array’ /}.arclist.arclistsg.loop.sql 标签) 我们平时常 ...
- Media Queries详解--转
Media Queries直译过来就是“媒体查询”,在我们平时的Web页面中head部分常看到这样的一段代码: <link href="css/reset.css" rel ...
- 浅谈C++ Lambda 表达式(简称LB)
C++ 11 对LB的支持,对于喜欢Functional Programming的人来说,无疑是超好消息.它使得C++进入了和C#,JavaScript等现代流行的程序设计语言所代表的名人堂. 不熟悉 ...
- Spring依赖注入的三种方式
看过几篇关于Spring依赖注入的文章,自己简单总结了一下,大概有三种方式: 1.自动装配 通过配置applicationContext.xml中的标签的default-autowire属性,或者标签 ...
- 无法解析属性“mode”的值。错误为: 枚举值必须是以下各值中的一个: RemoteOnly, On, Off。
Off首字母要大写,注意大小写 <customErrors mode="Off"> <error statusCode="404" ...
- [HttpClient]简单使用GET请求
package com.jerry.httpclient; import java.io.IOException; import org.apache.http.HttpEntity; import ...
- 在linux下将当前目录文件全部小写含目录名
ls | sed -n '/[A-Z]/s/.*/mv & \L&/e' 公司以前用的windows server 服务器 文件大小写都一样. 新迁移到centos 服务器上,发现 ...
- JS中break continue和return的用法?
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...
- 转发:[Python]内存管理
本文为转发,原地址为:http://chenrudan.github.io/blog/2016/04/23/pythonmemorycontrol.html 本文主要为了解释清楚python的内存管理 ...
- 一个用python实现的东方时尚(驾校)抢课程序
2014-12-23 东方时尚约车还要网上选课,资源太紧张了,于是我决定自己写一个抢票程序来帮我刷票. 第一步,抓包.浏览器登陆选课系统,用抓包工具观察网络行为,这里我用的fildder.这里抓包主要 ...