技术库 > Java

android插件化-apkplug从宿主启动插件Activity

技术库:tec.5lulu.com

from:tec.5lulu.com

插件是一个apk文件它存在自己的Activity界面和UI显示,本节将讲解如何配置插件的启动Activity以及怎样从宿主启动它。

1 配置插件apk的对外启动Activity (内部activity不需要配置)

    与普通app不同,插件AndroidManifest.xml配置在apkplug框架中是无效的,我们需要在plugin.xml里面配置才能被apkplug所识别

    具体设置属性为

    Bundle-Activity="xxx.xxx.xxx.Activity"

    只有设置为Bundle-Activityactivity才能从宿主中启动,否则将报"无法找到相应类的异常"

2 设置多个外部启动Activity

    如果你有多个activity需要从外部启动的话可以用,分割  如

    Bundle-Activity="a.b.c,d.e.f,j.q.p"

    以上配置了三个activity,可以外部启动通过插件的Bundle.getBundleActivity() 可获取到这个字符串

    Bundle.getBundleActivity().split(",")[0] 分割出对应的Activity

3 启动activity

    启动插件activity的方式很多,最简单的是以原生activity启动方式进行启动

Intent i=new Intent();
i.setClassName(mContext, Bundle.getBundleActivity().split(",")[0]);
//必须以此标签启动 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(i);

4 插件内部activity调用

    以android原生方式调用即可.

    须要注意的是所有插件activity都只能以  i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);方式启动

OK完成!

android插件化-apkplug从宿主启动插件Activity


标签: activity intent本文链接 http://tec.5lulu.com/detail/110d3n2ehcg9r85bf.html

我来评分 :6.5
1

转载注明:转自5lulu技术库

本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议

www.5lulu.com