ContentProvider を使用してアプリケーションを開発しています。マニフェストで宣言されています:
<provider android:name="foor.bar.FooBarProvider"
android:authorities="foo.bar.FoorBarProvider" />
すべてが正常に機能しており、プロバイダーにアクセスできます。問題は、自分のアプリのデモ バージョンを作成し、同じコンテンツ プロバイダーを共有して、ユーザーがフル バージョンをインストールしたときにデータの同期が保たれるようにすることです。また、フルバージョンまたはデモバージョンのみをインストールできる必要があります。したがって、コンテンツ プロバイダを両方に含める必要があります。
ここで、両方のアプリをインストールしようとすると、INSTALL_FAILED_CONFLICTING_PROVIDERエラー メッセージが表示されます。明らかに、両方の AndroidManifest が同じコンテンツ プロバイダーを宣言しているためです。
マニフェストで、このコンテンツ プロバイダーがまだ存在しない場合にのみ使用するように指示する方法はありますか? または別の回避策?
解決策は、フル バージョンがデモ コンテンツ プロバイダーからフル バージョン コンテンツ プロバイダーにデータを移行することですが、それは避けたいと思います。