我的应用程序上有一个 ContentProvider,我用它来共享资产文件夹中的图像。我使用了这里提出的解决方案:http ://www.nowherenearithaca.com/2012/03/too-easy-using-contentprovider-to-send.html
现在我需要共享存储在我的应用程序缓存文件夹中的图像。使用 ContentProvider 会很好,但我找不到有关如何执行此操作的信息。
有可能的?如果不是,那么正确的方法是什么?
谢谢
我的应用程序上有一个 ContentProvider,我用它来共享资产文件夹中的图像。我使用了这里提出的解决方案:http ://www.nowherenearithaca.com/2012/03/too-easy-using-contentprovider-to-send.html
现在我需要共享存储在我的应用程序缓存文件夹中的图像。使用 ContentProvider 会很好,但我找不到有关如何执行此操作的信息。
有可能的?如果不是,那么正确的方法是什么?
谢谢
如果“缓存文件夹”是getCacheDir()
,请使用FileProvider
.
如果“缓存文件夹”是getExternalCacheDir()
,试试我的StreamProvider
.
如果您真的想将其烘焙到您自己的提供程序中,您需要覆盖openFile()
并使用在您想要的文件上ParcelFileDescriptor.openFile()
创建一个。ParcelFileDescriptor
您还需要扩展您的getMimeType()
和query()
方法以分别返回 MIME 类型和文件名/大小。仅仅加入其中一种罐头实现可能会更容易。