val contentValues = ContentValues().apply {
put(MediaStore.MediaColumns.DISPLAY_NAME, "test.jpg")
put(MediaStore.MediaColumns.MIME_TYPE, "image/jpg")
put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_PICTURES) // requires API level 29
}
// this also adds it to the gallery
contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues)
3条答案
按热度按时间zyfwsgd61#
操作介质扫描器扫描文件已弃用!
您可以使用以下方法
java
Kotlin
这将请求媒体扫描程序扫描指定路径中的文件。另外,值得注意的是,在上例中scanFile()方法中的第3个和第4个参数为空。然而,第3个参数可用于可选地指定文件的MIME类型,第4个参数可用于提供侦听器来侦听扫描完成事件。
有关详细信息,请参阅开发人员站点
以下是不建议使用的方法
zy1mlcev2#
如果您使用的是Media Store API,则将其传递给解析器将触发媒体扫描。
yhived7q3#
来自www.example.comhttps://developer.android.com/reference/android/content/Intent.html#ACTION_MEDIA_SCANNER_SCAN_FILE
此常量在API级别29中已弃用。调用者应迁移到直接将项目插入到MediaStore中,在MediaStore中,项目将在每次变化后自动扫描