低版本安卓(Q以下)用File类把类添加到公共目录之后,如果马上使用MediaStroe去查的话,是没办法查到相关的文件的,很简单的问题,数据库没有记录相应的文件。这个时候就要用MediaScannerConnection.scanFile更新一下才能查到,方法如下:
/**
* 通知android媒体库更新文件夹
*
* @param filePath 文件绝对路径
*/
private fun scanFile(context: Context?, filePath: String) {
try {
MediaScannerConnection.scanFile(
context, arrayOf(filePath), null
) { _, uri ->
Log.i("posser", "new file uri=$uri")
}
} catch (e: Exception) {
e.printStackTrace()
}
}
MediaStore查询如下:android Q之后操作文件总结-CSDN博客