apkplug内嵌一个OSGI服务,所以框架大部分接口都是通过OSGI服务发布的,在这里你可以不用详细了解OSGI服务的原理,一下我们将给出调用插件安装服务的模板代码。你在开发时可以直接套用。
插件安装服务接口为 org.apkplug.Bundle.BundleControl
// startlevel =2 isCheckVersion=true Bundle install(BundleContext context,String loaclFilePath,installCallback callback) // v1.6.7 新增接口 建议使用最新的这个调用接口 Bundle install(BundleContext context,String loaclFilePath,installCallback callback,int startlevel,boolean isCheckVersion)
* loaclFilePath --- 插件apk文件的路径 格式为 "file:"+apk文件绝对路径
* installCallback ---插件安装的回调函数 通过它可获知插件安装状态
* startlevel ---插件启动级别 ,小于default_startlevel的插件会在框架启动时自起 default_startlevel=2
* isCheckVersion ---安装时是否检测已有插件版本 true 检测版本如果已安插件版本与现有插件版本相同将不安装 false 不检测覆盖安装
获取服务的模板代码为:
public void install(String path,installCallback callback,int startlevel,boolean isCheckVersion) throws Exception{ System.out.println("安装 :"+path); BundleContext mcontext=frame.getSystemBundleContext(); ServiceReference reference=mcontext.getServiceReference(BundleControl.class.getName()); if(null!=reference){ BundleControl service=(BundleControl) mcontext.getService(reference); if(service!=null){ service.install(mcontext, path,callback, startlevel,isCheckVersion); } mcontext.ungetService(reference); } }
调用函数安装插件
//插件启动级别为1(会自启) 并且不检查插件版本是否相同都安装 install("file:"+filepath[0],new myinstallCallback(),1,false);
Bundle.uninstall();
发布时间:2010-11-04
发布时间:2010-11-04
发布时间:2011-01-09
发布时间:2011-01-09
发布时间:2011-01-27
发布时间:2011-03-18
发布时间:2011-01-09
发布时间:2011-03-14
发布时间:2011-03-17
发布时间:2011-03-21
发布时间:2011-02-28
发布时间:2011-02-18