android apkplug,android插件化-apkplug框架启动-02

android:name="org.apkplug.app.apkplugActivity"

android:theme="@style/android:Theme.Light"

android:configChanges="orientation|keyboardHidden"

/>

三 启动apkplug框架

你可以在应用的Application中启动框架具体代码如下 (并不限制在Application中)

public FrameworkInstance start( List activatorList,Context appContext,PropertyInstance property)

public FrameworkInstance start( List activatorList,Context appContext,PropertyInstance property,DisplayMetrics dm2)

1.activatorList 是一个BundleActivator的List(可以为null) 这些BundleActivator在框架启动时启动(系统级别)

2.PropertyInstance 框架保存配置信息的接口

//框架通过该接口获取本地保存的变量

public  String getProperty(String key);

//框架通过该接口设置本地变量

public  void setProperty(String key,String v);

//框架启动时将自动安装该该函数提供的文件 "file:"+apk文件路径  (1.6.7以后不建议使用 可用BundleControl代替)

public String[] AutoInstall();

//框架启动时将自动安装并启动该该函数提供的文件  "file:"+apk文件路径  (1.6.7以后不建议使用 可用BundleControl代替)

public String[] AutoStart();

//调试模式   调试模式中退出APP时调用FrameworkInstance.shutdown();将删除所有插件

public boolean Debug();

四 框架启动成功获取FrameworkInstance接口

框架启动成功以后会返回org.apkplug.app.FrameworkInstance接口,它是宿主应用与apkplug框架和插件通信的接口。

//停止框架

public void shutdown();

//获取框架的SystemBundle           apkplug框架启动时会创建一个SystemBundle 它的BundleID为0 同时它不可停止和卸载,我们科通过它与其他插件通信

public Bundle getSystemBundle();

//SystemBundle 插件的上下文 BundleContext

public BundleContext getSystemBundleContext();

启动代码:

try

{

FrameworkInstance frame=FrameworkFactory.getInstance().start(null,Launcher.this,MyProperty.getInstance(this.getApplicationContext()));

}catch (Exception ex){

System.err.println("Could not create : " + ex);

ex.printStackTrace();

StringBuffer buf=new StringBuffer();

buf.append("插件平台启动失败:\n");

buf.append(ex.getMessage());

Toast.makeText(this, "插件平台启动失败",Toast.LENGTH_SHORT).show();

}

至此框架便嵌入到应用中并启动成功了,下一篇文章将讲解怎样通过SystemBundle获取已插件和信息等操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值