当我尝试使用
打开.json
文件时
startActivityForResult(Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
addCategory(Intent.CATEGORY_OPENABLE)
type = "application/json"
}, 0)
选择器列出所有类型的文件,而不仅仅是.json
文件。值得一提的是,所有文件都是灰色的,我无法选择任何文件,甚至我的 .json
文件。
但是,当我将 application/json
更改为 */*
时,文件并没有变灰,我可以打开它们。
使用 ACTION_GET_CONTENT
而不是 ACTION_OPEN_DOCUMENT
的行为是相同的。
为什么字体设置没有按预期工作?如何让它发挥作用?
最佳答案
Android 不支持将 json
作为 MIME 类型。您可以查看MimeUtils的源代码.
MimeTypeMap.getSingleton().getMimeTypeFromExtension("json");
returns
null
;
您可以使用 "application/octet-stream"
代替 "application/json"
.它会在其他文件中显示“*.json 文件,尽管它会过滤掉图像、视频、音乐和文本文件。
关于android - 如何使用 Intent.ACTION_OPEN_DOCUMENT 过滤 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58055318/