android插件化-apkplug从宿主启动插件Activity-06
插件是一个apk文件它存在自己的Activity界面和UI显示,本节将解说如何配置插件的启动Activity以及如何从宿主启动它。
一 配置插件apk的对外启动Activity (内部activity不须要配置)
与普通app不同,插件AndroidManifest.xml配置在apkplug框架中是无效的,我们须要在plugin.xml里面配置才干被apkplug所识别
详细设置属性为
Bundle-Activity="xxx.xxx.xxx.Activity"
仅仅有设置为Bundle-Activity的activity才干从宿主中启动,否则将报"无法找到对应类的异常"
二 设置多个外部启动Activity
假设你有多个activity须要从外部启动的话能够用,切割 如
Bundle-Activity="a.b.c,d.e.f,j.q.p"
以上配置了三个activity,能够外部启动通过插件的Bundle.getBundleActivity() 可获取到这个字符串
Bundle.getBundleActivity().split(",")[0] 切割出相应的Activity类
三 启动activity
启动插件activity的方式非常多,最简单的是以原生activity启动方式进行启动
Intent i=new Intent();
i.setClassName(mContext, Bundle.getBundleActivity().split(",")[0]);
//必须以此标签启动
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(i);
四 插件内部activity调用
以android原生方式调用就可以.
需要注意的是全部插件activity都仅仅能以 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);方式启动
OK完毕!
QQ交流群:132433459