我的应用程序有两个版本,免费和专业版,应用程序数据的内容提供程序需要在两者之间共享。
设计时应考虑以下几点:
- 任何版本创建的数据都应立即在另一个版本中可见
- 据我所知,免费和专业版都不能在清单文件中声明相同的内容提供程序
- 考虑到上述要点,我需要为免费版和专业版创建单独的提供程序
可能的解决方案:
- 创建两个内容提供程序,一个由免费版创建,另一个由专业版创建
- 当专业版首次启动时,如果免费版中有任何数据,则将其复制到专业版中
- 每当在免费版或专业版中写入任何数据时,都应检查是否存在其他版本的内容提供程序,并在它们存在时同时写入两个内容提供程序
- 将android:protectionLevel属性设置为“signature”,以便两个版本都可以访问两个内容提供程序
请告诉我这是否符合共享内容提供者的最佳实践,并且易于理解。请分享其他的做法。