Zwrócenie pamięci InputStream odwzorowanej na pamięć od dostawcy treści?

Po stronie klienta konsumenta dostawcy treści mogę zrobić coś takiego, aby uzyskać odpowiedni strumień wejściowy do odczytu obrazu:

InputStream is = getContentResolver().openInputStream(pictureUri);

Jest to miły interfejs API, a po stronie serwera rzeczywisty dostawca treści spowoduje wywołanie:

public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
  // Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode)
}

Ale co, jeśli obraz odwzorowany na URI nie zostanie znaleziony w systemie plików, ale jako zasób pamięci lub wygenerowany w locie.

Czy mogę utworzyć zmapowaną pamięćFile lubInputStreamlub cokolwiek innego, więc nie muszę zapisywać pliku tymczasowego na dysku, tylko po to, aby móc zwrócić go do mojego dostawcy dostawcy treści?

questionAnswers(2)

yourAnswerToTheQuestion