插件框架一之ContentProvider和BroadcastReceiver

来源:互联网 发布:c语言中char使用例子 编辑:程序博客网 时间:2024/04/30 08:57

问题:由于插件是以单独apk形式存在的,所以插件中需要静态注册的ContentProvider和BroadcastReceiver无法生效。

解决方案:
1、ContentProvider
主要用于数据库的创建,需要在manifest中注册,但是ContentProvider中数据的创建和ContentResolver对数据库的增删改查操作是相对分开的。所以,可以将ContentProvider的数据库创建代码和ContentResolver对数据库的增删改查操作进行分离,并将ContentProvider的数据库创建代码移到主工程中。
2、BroadcastReceiver
广播分为静态和动态注册两种,动态注册可以在插件中通过传入的Context完成。插件静态广播在manifest注册无法生效,所以讲静态广播移到主工程中,并通过反射或扩展接口调用插件广播处理代码。

0 0
原创粉丝点击