Java 浏览具有特定扩展名的文件

Java 浏览具有特定扩展名的文件,java,android,file,Java,Android,File,我正在开发一个显示.dxf文件的应用程序(使用Kabeja库)。我已经完成了所有的部分,一切都按照我想要的方式进行。问题是,我需要一个打开文件浏览器的按钮,这样用户就可以从sd卡或本地存储中导入自己的.dxf。它需要过滤文件以仅显示.dxf,因此无法导入其他扩展名。我完全不知道如何做到这一点,也不知道如何制作一个基本的文件浏览器。你能帮我走上正轨吗 谢谢你试试这个 Intent intent = new Intent(); intent.setAction(Intent.ACTION_GET_C

我正在开发一个显示.dxf文件的应用程序(使用Kabeja库)。我已经完成了所有的部分,一切都按照我想要的方式进行。问题是,我需要一个打开文件浏览器的按钮,这样用户就可以从sd卡或本地存储中导入自己的.dxf。它需要过滤文件以仅显示.dxf,因此无法导入其他扩展名。我完全不知道如何做到这一点,也不知道如何制作一个基本的文件浏览器。你能帮我走上正轨吗

谢谢你试试这个

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");

// Verify that the intent will resolve to an activity
if (intent.resolveActivity(getPackageManager()) != null) {
   startActivityForResult(intent, 1);
 }
如果你想强制应用程序选择器

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");

Intent chooser = Intent.createChooser(sendIntent, "Title");


// Verify that the intent will resolve to an activity
if (intent.resolveActivity(getPackageManager()) != null) {
   startActivityForResult(chooser, 1);
 }

并在activityResult方法中获得响应。有关更多详细信息,请参见。

您是否尝试过使用Intent并指定要使用的扩展名?相关:我没有,因为我不知道如何访问我的存储和获取文件。我看到过不同的选项,例如使用现有的文件选择器或使用不同的活动处理文件选择,但我不知道如何将它们应用于我的需要。我是android新手,所以不熟悉internet和github上的所有特定类和机制,你可以找到文件选择器/浏览器的代码,这些代码可以包含在你的应用程序中。好的,非常感谢,关于
intent.setType(String type)
方法,我必须传递MIME类型吗?因为
“file/*”
会禁用每个文件。我尝试了
“*/*”
,并且每个文件都已启用,但由于我只想启用.dxf,我原以为它会是
“*/dxf”
,但似乎不起作用。尝试此应用程序/dxfalso尝试image/vnd.dwg image/x-dwgdoesn不起作用。它必须是“application/something”,因为“application/*”起作用,但没有限制性,所以您应该再写一个条件,检查文件扩展名是否不是您想要的,并向用户显示一条消息,至少这次您选择了错误的文件
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*"); // all images
//intent.setType("image/png"); // only pngs
startActivityForResult(intent);