我正在使用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_DOCUMENT
和application/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/