宿主(其他插件)启动插件Activity

插件可以有自己的Activity,并且无需在主应用的Manifest.xml中配置

一 配置

要从宿主启动的Activity需要在plugin.xml的Bundle-Activity配置

二 设置多个外部启动Activity

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

例如:

Bundle-Activity="a.b.c,d.e.f,j.q.p"
以上配置了三个activity。
可以通过插件的Bundle.getBundleActivity()可获取到这个字符串
并且用Bundle.getBundleActivity().split(",")[0] 分割出对应的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调用

注意:
 所有插件activity都只能以  i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);方式启动
 ActivityResult是一个例外,不能添加Intent.FLAG_ACTIVITY_NEW_TASK