内容提供者消费者的客户端我可以做这样的事情,以获得正确的 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
orInputStream
或其他任何东西,这样我就不需要将临时文件保存到磁盘,只是为了能够将它返回给我的内容提供者消费者?