gpt4 book ai didi

android - 从内容提供者返回内存映射的 InputStream?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:00 25 4
gpt4 key购买 nike

内容提供者消费者的客户端我可以做这样的事情,以获得适当的 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 的图片不是在文件系统中找到的,而是作为内存资源,或者是动态生成的,该怎么办。

我可以创建一个内存映射的 FileInputStream 或其他任何东西吗,这样我就不需要将临时文件保存到磁盘,只是为了能够将其返回给我的内容提供商消费者?

最佳答案

这很难。您可能能够使用任何可以使用 Socket 接口(interface)的东西。我没有做过,但这就是让我这么认为的原因:

http://developer.android.com/reference/android/os/ParcelFileDescriptor.html#fromSocket(java.net.Socket)

从理论上讲,Socket 可以是 Internet 资源,或者几乎任何东西……如果您愿意在 Socket 级别上工作。我可能会放弃并创建临时文件。也许这让我变得胆小。

关于android - 从内容提供者返回内存映射的 InputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com