gpt4 book ai didi

android - 如何只选择 GIF 文件

转载 作者:行者123 更新时间:2023-12-05 00:04:19 24 4
gpt4 key购买 nike

我想分别选择图像(JPG、PNG)和 GIF(gif)文件。这适用于大多数相册应用程序和文件管理器,但 Google 照片应用程序除外。当我使用 Google 相册应用选择图片或 gif 文件时,会显示所有图片,即 JPG、PNG、GIF、BMP 等。如何让 Google 相册只允许选择选定类型的文件?

这是我的代码:

val contentPicker = activity.registerForActivityResult(
ActivityResultContracts.GetContent()
) { uri: Uri? ->
// Use Picked URI
}

val mime = when {
MediaType.isPhoto(mediaType) -> "image/*" // or image/jpg or image/png
MediaType.isGif(mediaType) -> "image/gif"
else -> throw RuntimeException("Wrong Media Type to pick: $mediaType")
}

contentPicker.launch(mime)

如果除此之外还有其他方法(可能仅针对 Google 相册),请作为答案分享。我找不到任何具有正确答案的相关问题。我只想使用系统应用来选择内容。

picker activity

编辑(2021 年 11 月 23 日)

即使我使用以下 Intent 打开文件应用程序,用户也可以转到边栏并选择照片应用程序。文件应用程序阻止选取 gif/heic 图像。但是,当从文件应用程序中打开照片应用程序时,用户可以不受任何限制地选择 gif/heic 图像。

fun getPickPhotoIntent(): Intent {

val pickIntent = Intent(Intent.ACTION_GET_CONTENT)
pickIntent.addCategory(Intent.CATEGORY_OPENABLE)
pickIntent.type = "image/jpg"

val mimeTypes = arrayOf("image/bmp", "image/jpeg", "image/png")
pickIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
pickIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, true)

return pickIntent
}

最佳答案

fun getPickPhotoIntent(): Intent {

val pickIntent = Intent(com.google.android.apps.photos.picker.external.ExternalPickerActivity)//package name Used
pickIntent.addCategory(Intent.CATEGORY_OPENABLE)
pickIntent.type = "image/jpg"

val mimeTypes = arrayOf("image/bmp", "image/jpeg", "image/png")
pickIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
pickIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, true)

return pickIntent
}

关于android - 如何只选择 GIF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64006706/

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