我有一张和三张照片我希望我的应用显示。直到运行时,我才会知道从互联网上下载了多少照片。Android ACTION_VIEW多张图片
我无法弄清楚如何创建一个意图来显示照片。现在我我做类似的东西(没有错误检查)创建一个文件夹下缓存他们在SD卡:
final File externalDirectory = Environment.getExternalStorageDirectory();
final String folder = externalDirectory.getAbsolutePath() + "/Android/data/" + packageName + "/files/";
这在Android Developer Reference解释。
我可以得到一张照片做,显示如下:
final Uri uri = Uri.fromFile(file);
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
Util.startActivity(this, intent);
凡file
是保存照片的文件。
如果有帮助,我可以将图像保存到提供给我的应用程序的任何位置,但我宁愿没有照片显示了用户的其他个人照片列为可能令人反感。
图像查看器有一个菜单选项“幻灯片”,所以它必须知道多张照片。
我可以创建自己的图像浏览器,但是,似乎是额外的工作,超出了我我会合理预期。即使我这样做,我希望用户能够安装第三方图像查看器,并获得更好的平移,缩放,共享体验......
我试过使用缓存照片文件的目录创建Uri,但图像查看器显示黑色页面。如果我传入文件,它只显示一个文件而不显示其他文件。
我知道这一定是可能的,因为我可以看到使用图库应用程序,并显示照片,如果我手动选择的文件夹。每次我研究这个问题时,评论说它不可能显示多个图像。
我怀疑有一些魔法咒语,但是什么?
谢谢。我会将此标记为已回答,但我想看看是否有其他人可以提出某些问题。我可以看到Gallery应用程序做我想要的,所以一定有办法,即使它不容易。 – Mitch 2012-03-05 03:54:21
@Mitch我建议你查看图库的源代码,以便你确信它是否被设计来完成你的任务。我知道它有一个幻灯片放映功能,但这不同于在目录中显示图像文件。 – Huang 2012-03-05 04:40:56
我确实对我的能力进行了审查。我以为我看到了一个mime类型表示dir的地方。我试图使用它,但我看到了手机上的所有照片,不仅仅是我告诉它的目录。你很可能是对的,没有办法做我想做的事,但重要的是让用户看到照片,而不要依赖他们足够的理解,以了解他们需要安装第三方图像查看器时,看到黑色屏幕。我相信他们会简单地假设我的应用程序已损坏。如果我在本周末没有得到答案,我会将您的答案标记为非常正确。 – Mitch 2012-03-05 16:25:10