如何简单地打开目录/文件夹?

时间:2017-01-12 11:13:26

标签: android

在阅读我需要的内容之前,不要将此标记为重复。

我见过很多类似的话题,但是我找不到任何解决方案。 我需要最简单的事情:在我的应用程序中,我有“查看媒体文件”按钮。单击该按钮后,我需要打开(使用内置文件资源管理器)此目录 - SD_CARD / my_folder 其中是媒体文件(我想点击其中任何一个,它们应该在默认媒体播放器)..

我在SO上使用了所有建议的答案,如下所示:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri mydir = Uri.parse("/sdcard/Recorder_Videos");
    intent.setDataAndType(mydir, "*/*");
    startActivity(intent);

但他们所做的一切:点击按钮后,它会打开“选择文件”菜单: (单击时我仍然无法播放媒体文件)

enter image description here

2 个答案:

答案 0 :(得分:1)

我发现的解决方案(不完整)是我缺少file://前缀。这是我的解决方案(但是,它在第​​一个视图中显示了所有类型的应用程序):

public void openFolder(String location)
{
    // location = "/sdcard/my_folder";
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri mydir = Uri.parse("file://"+location);
    intent.setDataAndType(mydir,"application/*");    // or use */*
    startActivity(intent);
}

P.S。奇怪而令人惊讶,但不存在"文件浏览器"的标准定义。有货Android系统(除非您安装第三方"文件浏览器").. 这就是 "resource/folder" mime-type默认不起作用的原因..(但是,再一次,浏览目录是任何操作系统的核心部分,而且很奇怪,为什么Android没有默认的)。

答案 1 :(得分:0)

您可以使用适用于多个设备的类型DocumentsContract.Document.MIME_TYPE_DIR并启动文件资源管理器。您可以参考此SO了解更多详情。