gpt4 book ai didi

java - 冲突的内容提供者

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:53 26 4
gpt4 key购买 nike

我正在使用 ContentProvider 开发应用程序。它在 list 中声明:

<provider android:name="foor.bar.FooBarProvider"
android:authorities="foo.bar.FoorBarProvider" />

一切正常,我可以访问提供商。问题是我想创建我的应用程序的演示版本,我希望它共享相同的内容提供者,以便当用户安装完整版本时,数据保持同步。此外,应该可以只安装完整版或演示版。因此,我必须在两者中包含我的内容提供者。

现在,当我尝试安装这两个应用程序时,我收到了 INSTALL_FAILED_CONFLICTING_PROVIDER 错误消息,显然是因为两个 AndroidManifest 都声明了相同的内容提供程序。

有没有办法在 list 中告诉这个内容提供者只有在它不存在时才应该使用?或者其他解决方法?

一个解决方案是完整版将数据从演示内容提供商迁移到完整版内容提供商,但我宁愿避免这种情况。

最佳答案

A solution would be that the full version migrate the data from a demo content provider to the full version content provider, but I would rather avoid that.

这是可能的事件顺序:

  1. 用户安装精简版
  2. 用户用户精简版,存储数据
  3. 用户升级到完整版,但您没有按照上面引用的段落复制数据
  4. 用户卸载精简版,删除其数据
  5. 用户在市场上给您一星评级

您需要在首次运行完整版时将数据从精简版克隆到完整版以避免此问题。

关于java - 冲突的内容提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3578751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com