gpt4 book ai didi

android - 我如何使用 ActivityResultLauncher.GetContent() 请求多个 MIME 类型?

转载 作者:行者123 更新时间:2023-12-02 01:58:08 24 4
gpt4 key购买 nike

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

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

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

最佳答案

这是我的示例代码,在 api 31 中测试

var resultGalleryLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val intent: Intent? = result.data
if (intent != null) {
intent.data?.let { selectedImageUri ->
....
}
}
} else {
Timber.e(" >>> error selected image from gallery by intent")
}
}
}


fun galleryLauncher() {
val intent = Intent(Intent.ACTION_GET_CONTENT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI).apply {
type = "image/*"
action = Intent.ACTION_GET_CONTENT
putExtra(Intent.EXTRA_MIME_TYPES, arrayOf("image/jpeg", "image/png", "image/jpg"))
putExtra(Intent.EXTRA_ALLOW_MULTIPLE, false)
}
resultGalleryLauncher.launch(intent)
}

关于android - 我如何使用 ActivityResultLauncher.GetContent() 请求多个 MIME 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69360764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com