问题:插件是单独以apk形式存在,其中的Activity和Service均无法在manifest中静态注册,所以无法直接调起。
解决方案:
采用代理Activity,通过代理Activity的生命周期来管理插件Activity的生命周期。
步骤:
1、在主工程中创建代理Activity,取名为ProxyActivity,并在主工程的manifest中进行注册。
2、在ProxyActivity中通过反射将自身实例传递到插件activity中,ProxyActivity的生命周期函数通过反射对应调用插件activity的生命周期
3、在插件activity中,不继承Activity,单独模拟创建生命周期函数,并在生命周期函数中进行代码逻辑处理。
4、在插件activity中,资源调用和Activity相关函数调用都通过ProxyActivity传递的实例来进行。