我正在使用ACTION_OPEN_DOCUMENT意图启动系统文件选择器。用户应该选择一个“ gpx”文件(blabla.gpx)。

我希望选择器仅允许选择扩展名为“ .gpx”的文件。

MIME类型为“ application / gpx + xml”,但是当我在意图的settype()中指定时,gpx文件是不可选择的。

有没有一种方法可以创建一个自定义的MIME类型“ application / gpx”,仅用于我的应用?如果是这样,如何将其与“,gpx”文件扩展名关联?

也许我可以更改与“ application / gpx + xml” mimne类型关联的文件扩展名?

或者,还有另一种方法可以完成我想做的事情吗?

最佳答案

我正在使用ACTION_OPEN_DOCUMENT意图启动系统文件选择器。


ACTION_OPEN_DOCUMENT不限于文件。


我希望选择器仅允许选择扩展名为“ .gpx”的文件。


ACTION_OPEN_DOCUMENT不限于使用文件扩展名的文档提供者。并且GPX-formatted content不限于带有.gpx扩展名的文件。


MIME类型为“ application / gpx + xml”,但是当我在意图的settype()中指定时,gpx文件是不可选择的。


在Android SDK模拟器或Google Pixel设备上尝试。如果遇到相同的问题,请提交错误报告。

但是,请记住,MIME类型和相关文件扩展名册可能由设备制造商定制。这就是为什么我建议在SDK仿真器或Google Pixel上进行测试的原因,因为它们是纯Google的产品,因此任何问题均由Google负责。我同意.gpx是GPX内容的常见文件扩展名,因此ACTION_OPEN_DOCUMENTapplication/gpx+xml应该允许用户选择该内容。


有没有一种方法可以创建仅用于我的应用程序的自定义MIME类型“ application / gpx”?


不,抱歉,至少不会以影响ACTION_OPEN_DOCUMENT的方式。


也许我可以更改与“ application / gpx + xml” mimne类型关联的文件扩展名?


不,抱歉,除了通过我建议的错误报告之外。


还有另一种方法可以完成我想做的事吗?


并不是的。

关于java - 如何为ACTION_OPEN_DOCUMENT Intent 实现自定义MIME类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59968229/

10-12 02:41