【发布时间】:2011-06-08 02:28:59
【问题描述】:
我有两个使用相同内容提供程序的应用程序,但我不能在两个应用程序中放置相同的内容提供程序 - 它显示 INSTALL_FAILED_CONFLICTING_PROVIDER 错误。所以我把我的内容提供者放在第三个 .apk 中,并从两个应用程序中使用它,它运行良好。
现在的问题是 - 必须先安装内容提供程序 apk,然后才能在设备上安装这两个应用程序中的任何一个。否则,它会在安装过程中显示 Provider not found 错误。
那么,如何确保在安装任何其他 apk 之前安装提供程序 apk?
有没有办法将内容提供者 apk 与其他两个 apk 分别合并,这样它们将作为两个应用程序一起安装并且不会显示 INSTALL_FAILED_CONFLICTING_PROVIDER 错误?
我需要将内容提供者 apk 与这两个应用程序合并,因为用户可能不会同时安装这两个应用程序,或者可能将它们都安装在一个设备上。
【问题讨论】:
-
这是一个非常有趣的问题。这里解释了一个类似的:stackoverflow.com/questions/3578751/…。我不确定那里是否有适合您的答案,这就是我将其添加为评论的原因。这让我想起了在 C/C++ 中使用头文件时遇到的问题,以及为什么使用 #ifndef/#define
-
@James 感谢您的回复。我想到了您提到的主题中提供的解决方案,但我正在寻找更好的解决方案。将提供程序放在单独的 apk 中并首先安装它可以解决错误 INSTALL_FAILED_CONFLICTING_PROVIDER,我认为比保留两个提供程序更好。但我需要确保首先安装提供程序 apk 或以某种方式合并我提到的 apk。
-
另见@CommonsWare stackoverflow.com/a/10791144/94363的综合回答
标签: android android-contentprovider apk