コンテンツ プロバイダー コンシューマーのクライアント側では、画像を読み取るための適切な InputStream を取得するために、次のようなことができます。
InputStream is = getContentResolver().openInputStream(pictureUri);
これは優れた API であり、サーバー側では、実際のコンテンツ プロバイダーは次の呼び出しを行います。
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
// Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode)
}
しかし、URI にマップされた画像がファイルシステム上ではなく、メモリ リソースとして、またはオンザフライで生成された場合はどうなるでしょうか。
一時ファイルをディスクに保存する必要がなく、コンテンツ プロバイダのコンシューマに返すことができるように、マップされたメモリFile
または などを作成できますか?InputStream