内容提供商存在冲突

2023-12-04

我正在使用 ContentProvider 开发一个应用程序。它在清单中声明:

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

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

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

有没有办法在清单中告诉该内容提供程序仅在它尚不存在时才应使用?或者另一种解决方法?

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


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

以下是可能的事件顺序:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内容提供商存在冲突 的相关文章

随机推荐

  • Tcpdf印地语句子显示问题

    我正在尝试使用 PHP 编程语言中的 tcpdf 库创建 pdf 文件 从昨天开始尝试但仍然得到 而不是印地语字体 我试图显示这句话 我添加了 2 到 3 种不同的印地语字体 但只得到问号 如果您在 tcpdf 或 mpdf 中有很好的印地
  • C++ 中堆栈上不同长度的数组分配[重复]

    这个问题在这里已经有答案了 我惊讶地发现在 C 中可以在堆栈上分配一个变长数组 例如int array i 它似乎在 clang 和 gcc 在 OS X 上 上运行良好 但 MSVC 2012 不允许它 这个语言特性叫什么 它是 C 语言
  • 错误 A2206 的问题:表达式中缺少运算符

    大家好 我在汇编中有这段代码 它应该创建一个消息框 但是当我尝试用 Masm 编译它时 我收到此错误 C test asm 26 错误 A2206 表达式中缺少运算符 386 model flat stdcall option casema
  • 无法将 JSON 解组到结构中

    我想将以下 JSON 解组到一个结构中 MAIN data KEY1 1111111 KEY2 2222222 KEY3 0 KEY4 AAAAAAA KEY5 9999 KEY6 4 KEY7 BBBBBBB 我已经尝试修改jsonStr
  • 使用 R 编程将文字中的数字转换为数字

    我的挑战是将单词中的 10 和 1 转换为数字 如输入句子中的 10 和 1 example input lt paste0 I have ten apple and one orange 数字可能会根据用户要求而改变 输入的句子可以标记化
  • C++正则表达式匹配大括号内的内容[重复]

    这个问题在这里已经有答案了 假设我想使用 C 11 正则表达式提取匹配大括号的内容 所以 举例来说 foo 会成功匹配 我可以使用match result提取内容 看起来很简单 但是下面的代码并没有完全达到我的愿望 std string f
  • 将 JSON 数据(带有节点请求)发布到 Express 服务器以保存到 MongoDB 时出现问题

    我使用 MongoDB 作为我的 Node Express 应用程序的后端数据库 总结一下我面临的问题 我不知道如何在 Express 应用程序中设置 body parser 配置 因为服务器端应用程序没有接收客户端应用程序 也是一个 no
  • ctypes - 初学者

    我的任务是将 c 库 包装 到 python 类中 这些文档在这个问题上非常模糊 看来他们期望只有高级 python 用户才会实现 ctypes 一些逐步的帮助会很棒 所以我有我的c 库 我该怎么办 我把什么文件放在哪里 如何导入库 我读到
  • 不同的线程可以写入同一 Vec 的不同部分吗? [复制]

    这个问题在这里已经有答案了 我有 10 个线程和一个Vec长度为100 我可以让线程 0 处理元素 0 9 例如对它们进行排序 而线程 1 处理元素 10 19 等吗 或者我必须使用Vec
  • 固定值在列和行上不重复

    我想在 R 中创建一个具有一定数量变量 例如 1 到 10 的矩阵 这些变量应该随机分配在行和列上 但不应在任一行中重复 因此数字 1 应该在第 1 行和第 1 列中各出现一次 例如 1 2 3 4 5 6 7 8 9 10 2 3 4 5
  • 如何使用 onkeyup/onfocus javascript 在文本字段中输入文本?

    我们有一个 Web 应用程序 我正在尝试使用 Java Web Driver 和 TestNG 对其进行自动化测试 我面临的最大挑战 失败 是保持领先开发并防止测试框架因哪怕是很小的代码更改而中断 Problem 有一个接受数字的文本字段
  • 什么时候你会交换两个数字而不使用第三个变量?

    我读过一些资料 讨论如何在不使用第三个变量的情况下交换两个数字 以下是一些最相关的 如何在不使用任何 if 条件 转换或其他变量的情况下交换两个整数变量 在不使用第三个变量的情况下交换两个变量的值 中的潜在问题 交换两个整数而不使用第三个变
  • 变量名包含点 (.) 的 Groovy 列表将转换为字符串

    我有一个 groovy 列表 定义为 env list abc def 如果我尝试在 for 循环中使用它 for letters in env list print Letter is letters 它将迭代每个字母并打印以下内容 Le
  • udp 连接套接字上的 ICMP“目标无法到达”数据包

    我用这个函数创建了连接的UDP套接字 Creates connected udp socket int udp connect const char host const char serv int sockfd n struct addr
  • 导入错误::找不到符号:__PyErr_ReplaceException

    我使用 homebrew install python 2 7 10 和usr local bin python链接到 python 2 7 10 但是当我运行 python 代码时 出现如下异常 但是当我使用 IPython import
  • java运行时修改注解属性值

    我们的模型 pojo 中的一些方法已注释如下 Column name cli clipping id updatable false columnDefinition varchar ModelUtils ID LENGTH COLLATE
  • 从 shell 脚本解析日期以计算证书到期前的天数

    我想知道证书到期前的天数 使用 openssl 提取日期很容易 gt cat cert openssl x509 noout enddate notAfter Jun 8 17 07 09 2021 GMT 不幸的是解析日期Jun 8 17
  • 当我们编译包含“main”而没有链接的源代码时,为什么我们不能运行它?

    我正在学习编译过程 我知道链接主要用于将包含 主 函数的二进制文件与包含主函数中使用的其他辅助函数的其他二进制文件链接 但是 当我尝试使用代码运行目标文件时 int main return 0 在 Ubuntu 上的 gcc 中使用 c 命
  • 节点 xmpp 消息未发送到正确的目的地

    我使用 node xmpp 服务器作为 2 个客户端的聊天服务器 Psi 和 Spark 我为每个客户端注册一个帐户 我想从 Psi 帐户向 Spark 帐户发送一条消息 每次我从一个客户端发送一条消息时帐户相同的帐户接收消息 我想将朋友添
  • 内容提供商存在冲突

    我正在使用 ContentProvider 开发一个应用程序 它在清单中声明