我正在使用三星a51。
API等级10
我正在下载文件夹中保存其他类型的文件,例如-图像,视频,歌曲,zip
码
val filename = "exampleFileName.jpg"
val now = System.currentTimeMillis() / 1000
val values = ContentValues().apply {
put(MediaStore.Downloads.DATE_ADDED, now)
put(MediaStore.Downloads.DATE_MODIFIED, now)
put(MediaStore.Downloads.DISPLAY_NAME, filename)
put(MediaStore.Downloads.TITLE, filename.stripExtension())
put(MediaStore.Downloads.SIZE, contentSize)
put(MediaStore.Downloads.RELATIVE_PATH, "Download/my-appname")
put(MediaStore.Downloads.IS_PENDING, 1)
}
val uri: Uri? = null
waitForExecution(handler) {
uri = resolver.insert(
MediaStore.Downloads.getContentUri(volume),
values
)
}
val descriptor = resolver.openFileDescriptor(uri!!, "w")
if (descriptor != null) {
val outputStream = FileOutputStream(descriptor.fileDescriptor)
val written = writeFile(outputStream)
if(written){
values.clear()
values.put(MediaStore.Downloads.IS_PENDING, 0)
if(mimeType != null) values.put(MediaStore.Downloads.CONTENT_TYPE, mimeType)
waitForExecution(handler) { // ui thread
resolver.update(uri!!, values, null, null)
// android says that content resolver automatically notify to system don't need to send brodcast.
val intent = Intent(Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE))
context.sendBroadcast(intent)
}
}else{
dontThrow { resolver.delete(uri!!, null, null) }
}
} else {
v("got null descriptor.")
}
一切都很好文件已成功写入。
文件显示在中文件管理器
但问题未在图库中显示。
在其他一些手机上也无法正常工作
它还显示在 Mx播放器中
是否有任何通知该文件已添加
还是android 10 bug?
最佳答案
通过在插入时设置mimeType解决了问题
关于android - Android Q保存媒体文件未显示在图库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60811384/