在Android中通过内容提供程序提供图像服务

6
在我的应用程序中,用户将会找到一些图片,就像视频游戏中的概念艺术特性一样。我希望这些图片能够被缩放、分享以及进行其他操作,就像在画廊应用程序中一样。那么最好的展示方式是什么呢?我认为正确的做法是发送一个类型为image/png的Intent.ACTION_VIEW,这样任何程序都可以获取它...
但是,在这种情况下,这些图片需要对任何应用程序都可用,它们不能是资源,对吧?(因为那样它们就无法供其他应用使用了。)所以它们需要通过Content Provider来提供...
我不认为我可以把它们放在默认的媒体Content Provider中...因为它们会被画廊应用程序发现,对吧?我希望用户能够随着时间的推移“解锁”它们。所以我需要构建自己的内容提供者,并通过它发布图片,对吧?那么如何制作一个可以提供图像(和视频、音频、联系人或其他类型对象)的内容提供者是最好的方法呢?
4个回答

1
我建议您创建自己的ContentProvider并在其中处理所有业务逻辑。除非将图像插入到媒体内容提供程序中,否则相册应用程序无法访问它们。您可以通过在ContentProvider中手动插入来完成此操作,或者如果您将它们存储在设备上的公共目录中,则可以让MediaScanner自动查找文件并随时间插入它们。

0

为什么不直接将图像复制到外部存储器中呢?

复制后,您可以更新媒体内容提供程序。如何操作已在此问题中解释。


0

您可以将图像复制到公共媒体目录中,然后初始化MediaScanner扫描进程,这样这些图像就可以从Gallery应用程序中访问。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接