title: Returning a memory mapped InputStream from a content provider?
body: <p>The the client side of a content provider consumer I can do something like this, to get a proper InputStream for reading the picture:</p>
  
  <pre><code>InputStream is = getContentResolver().openInputStream(pictureUri);
  </code></pre>
  
  <p>It is a nice API, and will on the server side, the actual content provider result in a call to:</p>
  
  <pre><code>public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
    // Open a proper ParcelFileDescriptor, most likely using openFileHelper(uri, mode)
  }
  </code></pre>
  
  <p>But what if the picture mapped to the URI is not to be found on the filesystem, but as a memory resource, or generated on the fly.</p>
  
  <p>Can I create a memory mapped <code>File</code> or <code>InputStream</code>, or anything else, so that I am not required to save a temporary file to disk, just to be able to return it to my content provider consumer?</p>