首页 > 解决方案 > 如何使用 ActivityResultLauncher.GetContent() 请求多个 MIME 类型?

问题描述

我正在尝试从用户那里检索一个既可以是图像也可以是 pdf 的文件,使用

registerForActivityResult(ActivityResultContracts.GetContent()) { file: Uri ->
   ......
}.launch(<mimetypes>)

我已经尝试过"image/*|application/pdf"另一个问题的答案,但没有用,有没有办法在使用 registerForActivityResult 时要求多种 MIME 类型?

标签: androidmime-types

解决方案


使用 registerForActivityResult 时有什么方法可以要求多种 MIME 类型?

不直接与当前版本的ActivityResultContracts.GetContent. 但是,您应该能够对其进行子类化、覆盖createIntent(),并从那里自定义生成的Intent. 然后,您可以尝试使用您想要的其他 MIME 类型添加到其中EXTRA_MIME_TYPESIntentString[]


推荐阅读