在阅读我需要的内容之前,请将此标记为重复.
我见过很多类似的话题,但是我找不到任何解决方案.
我需要最简单的事情:在我的应用程序中,我有“查看媒体文件”按钮.单击该按钮后,我需要打开(使用内置文件资源管理器)此目录 – SD_CARD / my_folder其中是媒体文件(我想点击其中任何一个,它们应该在默认的媒体播放器中打开)..
我在SO上使用了所有建议的答案,如下所示:
Intent intent = new Intent(Intent.ACTION_VIEW); Uri mydir = Uri.parse("/sdcard/Recorder_Videos"); intent.setDataAndType(mydir,"*/*"); startActivity(intent);
解决方法
我发现的解决方案(不完整)是我缺少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); }
附:奇怪而令人惊讶,但在现有Android系统中不存在“文件浏览器”的标准定义(除非您安装第三方“文件资源管理器”).这就是为什么“资源/文件夹”mime-type默认不起作用的原因..(但是,再一次,浏览目录是任何操作系统的核心部分,而且非常奇怪,为什么Android没有默认值).