【发布时间】:2021-04-19 13:05:46
【问题描述】:
我正在尝试使用此代码使用 ContentResolver 创建一个 GIF
val fileName = "mygif.gif"
// Add a specific media item.
val resolver = applicationContext.contentResolver
// Find all video files on the primary external storage device.
val videoCollection =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY)
} else {
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
}
val gifDetails = ContentValues().apply {
put(MediaStore.Images.Media.DISPLAY_NAME, fileName)
}
resolver.insert(videoCollection, gifDetails)?.let { uri ->
val os = resolver.openOutputStream(uri)
// [...] creates GIF with Outputstream
}
我的文件已正确创建,但 Android 将其命名为 16118154646.jpg 而不是 mygif.gif。名称和扩展名均未正确设置。如何做到这一点?
【问题讨论】:
-
在
apply {}lambda 中使用put(MediaStore.Video.Media.MIME_TYPE, "image/gif")作为 MIME 类型。 -
试过这个,又试了一次,但不幸的是没有成功
标签: android android-contentresolver