在 Android 相册中打开特定文件夹

3

我有一个相机应用程序,它将图像保存到画廊内的单独文件夹中。

我的文件夹路径是/storage/emulated/0/Pictures/CameraExample/

当我点击按钮时,我需要打开保存图像的文件夹。我已经尝试了所有可用的解决方案。

这是我读取路径的方式,请告诉我是否有误。

String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath();
        Log.d("HelperUtils . getFilePaths", "setting the path " + path);
        String targetPath = path +"/CameraExample/";

如何启动新的Intent并打开文件?

你没有说明如何打开相册应用程序而不指定特定文件夹。正如你所建议的那样,相册不是存储位置,它只是一个可以显示设备上所有图像的应用程序。 - greenapps
可能是 https://dev59.com/W1HTa4cB1Zd3GeqPRGZ2 相似的问题。 - ShellDude
1个回答

4
你可以像这样列出目录中存在的所有文件。
File[] listFile;
File file = new File(android.os.Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "CameraExample");
if (file.isDirectory()) 
        listFile = file.listFiles();

然后您可以使用GridView或其他方式显示这些图像。

编辑:使用意图打开您的文件夹

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath()
+ "/CameraExample/");
intent.setDataAndType(uri, "*/*");
startActivity(Intent.createChooser(intent, "Open folder"));

这个没问题。但我需要从内置画廊中打开我的文件夹。我不想创建任何网格视图,因为Android画廊会处理所有事情。我只需要打开我的文件夹。 - Likith Ts
为此,您需要创建一个MediaScanner,让图库知道要显示什么。即使它们在同一个文件夹中,除非将它们明确添加到图库中,否则图库不会显示任何图像。 - G_V
你能给我一个实现MediaScanner的例子吗?如果只是实现了MediaScanner,那就足够了吗?还是需要在XML布局文件中进行额外的工作? - Likith Ts
3
以上代码是打开最近的图库图片而不是特定文件夹中的图片。有关如何实现媒体扫描器的示例? - Likith Ts
交叉检查打开文件夹和相机示例文件夹中的图片。应该是相同的。 - Praveena

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