简介
实现Android Activity的代理机制,可以实现:
- 在AndroidManifest.xml中仅声明一个代理Activity,即可打开多个被代理Activity
- 被代理Activity可以动态更新,即使用DexClassLoader加载的Activity
使用方法
- 原派生于Activity的类,其超类需改为Proxied<Activity>
- 类中原来需要传入Activity.this,或Context.this的地方,改为传入Activity.this.asActivity()
- 在AndroidManifest增加ProxyActivity的声明,其它被代理Activity则可以删除
- 如果入口Activity也需要代理,需在AndroidManifest中增加<meta-data android:name="PROXIED_ACTIVITY_CLASS_NAME" android:value="被代理Activity类名"/>