将多个Mime类型传递给ActivityResultLauncher.launch()
我有以下代码
val getContent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
//Some code here..
}
和其他地方,
getContent.launch("application/vnd.openxmlformats-officedocument.wordprocessingml.document")
我可以成功选择 docx 文件。我需要选择 pdf 或 doc 或 text 或 docx 而只是能够选择一种(此处为 docx)。
回答
我建议使用OpenDocument而不是GetContent.
val documentPick =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
// do something
}
在启动意图时,只需添加您想要获得的 mime 类型
documentPick.launch(
arrayOf(
"application/pdf",
"application/msword",
"application/ms-doc",
"application/doc",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/plain"
)
)
THE END
二维码