5

我有以下代码

val getContent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
    //Some code here..
}

在其他地方,

getContent.launch("application/vnd.openxmlformats-officedocument.wordprocessingml.document")

我可以成功选择 docx 文件。我需要选择 pdf 或 doc 或 text 或 docx 而只是能够选择一种(此处为 docx)。

4

1 回答 1

11

我建议使用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"
            )
        )
于 2021-03-26T11:28:12.703 回答