如何通过文件扩展名过滤ACTION_OPEN_DOCUMENT意图

问题描述 投票:0回答:1

我有通过发出具有ACTION_OPEN_DOCUMENT目的的createChooser来启动文件选择器的代码。

这是代码,它起作用:

                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.setType("*.*");
                startActivityForResult(Intent.createChooser(intent, "Choose .xyz file"), RQS_OPEN_XYZ_FILE);

这将打开一个文件选择器,允许用户选择任何类型的文件。

我希望文件选择器将用户的选择限制为仅以“ .xyz”结尾的文件。

如果这是“标准”文件类型,则可以按MIME类型进行过滤。例如,如果我添加一个setType(“ media / jpeg”),则只能在文件选择器中选择jpeg文件。但是,在这种情况下,没有对应于“ .xyz”的MIME类型。

向我建议我尝试使用数据路径过滤器,但我仍无法弄清楚如何实现它。

是否有可能做到这一点?如果是这样,我该怎么办?

谢谢!

java android android-intent
1个回答
0
投票

是否有可能做到这一点?

[不,对不起。超出ACTION_OPEN_DOCUMENT的基本限制:

  • 不需要您希望的格式的内容具有任何特定的文件扩展名

  • 不需要用户从使用文件扩展名的文档提供程序(例如,云本地提供程序)中选择内容

  • 文件扩展名是1990年代的

© www.soinside.com 2019 - 2024. All rights reserved.