android - 如何使用 ActivityResultLauncher.GetContent() 请求多个 MIME 类型?
问题描述
我正在尝试从用户那里检索一个既可以是图像也可以是 pdf 的文件,使用
registerForActivityResult(ActivityResultContracts.GetContent()) { file: Uri ->
......
}.launch(<mimetypes>)
我已经尝试过"image/*|application/pdf"
另一个问题的答案,但没有用,有没有办法在使用 registerForActivityResult 时要求多种 MIME 类型?
解决方案
使用 registerForActivityResult 时有什么方法可以要求多种 MIME 类型?
不直接与当前版本的ActivityResultContracts.GetContent
. 但是,您应该能够对其进行子类化、覆盖createIntent()
,并从那里自定义生成的Intent
. 然后,您可以尝试使用您想要的其他 MIME 类型添加到其中EXTRA_MIME_TYPES
。Intent
String[]
推荐阅读
- c# - 在我的方法中有一个块是什么意思?
- javascript - How to access the parameters of a function that is stored in an array?
- marklogic - Integrating Smart Mastering to DHF project
- c# - 如何使用 TFS API 和 C# 代码通过 ChangesetID 将当前变更集回滚到特定变更集
- html - How to make scrollbar always visible in angular material?
- java - 对一个 API 端点的请求会导致 500 响应;其他 API 端点工作
- python - 是否可以在电机中对集合进行子类化?
- ios - 访问依赖项内的私有资产目录
- javascript - Android - 如何在锁定时保持 chrome 处于活动状态
- c++ - Constructing std::function argument from lambda