我希望我的应用程序显示一到三张照片。直到运行时我才知道从互联网上下载了多少照片。
我不知道如何创建一个意图来显示照片。现在,我将它们缓存在 SD 卡上的一个文件夹下,该文件夹是我通过执行类似操作(无错误检查)创建的:
final File externalDirectory = Environment.getExternalStorageDirectory();
final String folder = externalDirectory.getAbsolutePath() + "/Android/data/" + packageName + "/files/";
这在Android 开发者参考.
我可以通过执行以下操作来显示一张照片:
final Uri uri = Uri.fromFile(file);
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "image/*");
Util.startActivity(this, intent);
Where file
是保存照片的文件。
如果有帮助,我可以将图像保存到我的应用程序可用的任何位置,但是我不希望将照片与用户的其他个人照片一起列出,因为这可能会很烦人。
图像查看器有一个菜单选项“幻灯片放映”,因此它必须了解多张照片。
我可以创建自己的图像查看器,但这似乎是额外的工作,超出了我的合理预期。即使我这样做,我也希望用户能够安装第 3 方图像查看器并获得更好的平移、缩放、共享体验……
我尝试使用缓存的照片文件的目录来创建 Uri,但图像查看器显示黑色页面。如果我传入该文件,它只会显示该文件,而不显示其他文件。
我知道这一定是可能的,因为如果我手动选择文件夹,我可以看到使用图库应用程序并显示照片。每次我研究这个问题时,评论都说无法显示多个图像。
我怀疑有什么魔法咒语,但是什么?