我希望你的应用程序能够显示一到三张照片。我不知道运行时会从互联网上下载多少张照片。
我无法找到创建一个Intent来显示照片的方法。现在,我正在将它们缓存到SD卡上,并通过创建文件夹来存储它们(没有进行错误检查):
我无法找到创建一个Intent来显示照片的方法。现在,我正在将它们缓存到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);
这里的file
是一张已保存照片的文件。
如果有帮助的话,我可以将图片保存到我的应用程序可用的任何位置,但我不想让这些照片显示在用户其他个人照片列表中,因为那可能会很烦人。
图像查看器有一个“幻灯片”菜单选项,因此它必须知道多个照片。
我可以创建自己的图像查看器,但那似乎是额外的工作,超出了我合理的期望。即使我这样做了,我也希望用户能够安装第三方图像查看器,并获得更好的体验,包括平移、缩放、共享等功能。
我尝试使用缓存的照片文件目录来创建Uri,但图像查看器只显示黑色页面。如果我传入文件,则只显示一个文件而没有其他文件。
我知道这一定是可能的,因为我可以使用画廊应用程序并手动选择文件夹来显示照片。每次我研究这个问题时,评论都说无法显示多个图像。
我怀疑有某种神奇的咒语,但是什么呢?