在我的 Android 应用程序中,我想在磁盘上缓存图像,然后这些图像将显示在 WebView
中。 ,为此我需要通过某种路径或 URI 访问文件。 (为了使用 <img src="..">
。)我发现的所有缓存实现都不提供对绝对文件路径的访问,而是返回 InputStreams
。或 Bitmap
对象。
是否有可能实现 ContentProvider
我可以用来转 Bitmap
通过拥有 <img src="content://my/image.png">
将对象放入文件中在我的 WebView
?
覆盖ContentProvider#openFile(Uri uri, String mode)
,如果你的内容是内存中的缓存数据并且你不能返回ParcelFileDescriptor#open(File file, int mode)
, ParcelFileDescriptor#fromFd(int fd)
或 ParcelFileDescriptor#fromSocket(Socket socket)
使用辅助方法 ContentProvider#openFileHelper(Uri uri, String mode)
或使用 ParcelFileDescriptor#createPipe()
并实现您的自定义生产者部分
我是一名优秀的程序员,十分优秀!