【发布时间】:2010-08-27 07:42:16
【问题描述】:
我正在使用 ContentProvider 开发应用程序。它在清单中声明:
<provider android:name="foor.bar.FooBarProvider"
android:authorities="foo.bar.FoorBarProvider" />
一切正常,我可以访问提供程序。问题是我想创建我的应用程序的演示版本,并且我希望它共享相同的内容提供程序,因此当用户安装完整版本时,数据会保持同步。此外,应该可以只安装完整版或演示版。因此,我必须在 both 中包含我的内容提供者。
现在,当我尝试安装这两个应用程序时,我收到 INSTALL_FAILED_CONFLICTING_PROVIDER 错误消息,显然是因为两个 AndroidManifest 都声明了相同的内容提供程序。
有没有办法在 Manifest 中告诉这个内容提供者只有在它不存在时才应该使用?或者其他解决方法?
一个解决方案是完整版将数据从演示内容提供商迁移到完整版内容提供商,但我宁愿避免这样做。
【问题讨论】:
标签: java android android-contentprovider