我的应用程序上有一个ContentProvider,我用它来共享资产文件夹中的图像。我使用了这里提出的解决方案:http://www.nowherenearithaca.com/2012/03/too-easy-using-contentprovider-to-send.html
现在我需要共享存储在我的应用程序的缓存文件夹中的图像。使用ContentProvider很高兴,但我找不到有关如何操作的信息。
有可能吗?如果没有,这是正确的方法吗?
由于
答案 0 :(得分:1)
如果“缓存文件夹”为getCacheDir()
,use FileProvider
。
如果“缓存文件夹”为getExternalCacheDir()
,try my StreamProvider
。
如果您真的想将其烘焙到自己的提供商中,则需要覆盖openFile()
并使用ParcelFileDescriptor.openFile()
在所需文件上创建ParcelFileDescriptor
。您还需要扩展getMimeType()
和query()
方法,以分别返回MIME类型和文件名/大小。只需插入一个罐装实现就可能更容易了。