私のアプリケーションには、無料版とプロ版の 2 つのバージョンがあり、アプリ データのコンテンツ プロバイダーは 2 つの間で共有する必要があります。
以下の点に留意して設計する必要があります。
- 任意のバージョンで作成されたデータは、他のバージョンで即座に表示される必要があります
- 私が理解しているように、プロ バージョンと無料バージョンの両方で、マニフェスト ファイルで同じコンテンツ プロバイダーを宣言することはできません。
- 最後のポイントを念頭に置いて、無料版とプロ版用に別々のプロバイダーを作成する必要があります
可能な解決策:
- 2 つのコンテンツ プロバイダーを作成します。1 つは無料版で作成され、もう 1 つはプロ バージョンで作成されます。
- プロ版初回起動時、無料版にデータがあればプロ版にコピー
- 無料版またはプロ版でデータが書き込まれるたびに、別のバージョンのコンテンツ プロバイダーが存在するかどうかを確認し、存在する場合は両方のコンテンツ プロバイダーに書き込む必要があります。
- android:protectionLevel 属性を「signature」に設定して、両方のバージョンが両方のコンテンツ プロバイダにアクセスできるようにします。
これが理にかなっており、共有コンテンツ プロバイダに関するベスト プラクティスに従っているかどうかをお知らせください。これを行う他の方法を共有してください。