私は十分にグーグルで検索しましたが、このケースを見つけることができませんでした。特定のアプリのみが共有/アクセスできるカスタム コンテンツ プロバイダーを作成したいと考えています。
私はこのシナリオを持っています:
- Google Play に複数のアプリがあります。A、B、C と言ってください。
- A、B、C のみがアクセスできるコンテンツ プロバイダー、たとえば Z を作成したいと考えています。コンテンツ プロバイダー「Z」を独自の apk として公開することを考えています。
- Z がデバイスにインストールされている場合。A、B、C は Z にアクセスできます。Z がインストールされていない場合、最初のアプリは Google Play に移動して Z をインストールします。
今私の質問は:
特定のアプリ間でのみ共有されるコンテンツプロバイダーを作成することはまったく可能ですか? android:exported="false" を指定すると、他の外部アプリからアクセスできなくなります。android:exported が false に設定されている場合、android:grantUriPermissions="true" は機能しません。android:exported を true に設定すると、パブリックにアクセスできるようになります。
複数のアプリ間で情報を共有するという私の要件により適していると思われる場合は、他のソリューションも自由に共有してください。