问题描述
我在应用程序中使用MediaStore.MediaColumns.DATE_TAKEN
。拍摄的日期对于现有图像而言是准确的。但是,对于新添加的图像,它将显示为Jan 1,1970
。更奇怪的是,在我重新启动手机之前,该日期将保持不变,此后它将正确显示。
注意:在2台运行Android 10的设备(自DATE_TAKEN
添加了Q
)和来自不同制造商的设备上,行为相同。简单的应用重启也无法正常工作。
编辑:我期待DATE_TAKEN的替代解决方案。下面是我当前正在使用的代码。
val projection = arrayOf(_ID,disPLAY_NAME,DATE_TAKEN)
val sortOrder = "$DATE_TAKEN DESC"
app.contentResolver.query(
EXTERNAL_CONTENT_URI,projection,null,sortOrder
)?.use {
val idColumn = it.getColumnIndexOrThrow(_ID)
val nameColumn = it.getColumnIndexOrThrow(disPLAY_NAME)
val dateColumn = it.getColumnIndexOrThrow(DATE_TAKEN)
while (it.movetoNext()) {
val id = it.getLong(idColumn)
val displayName = it.getString(nameColumn)
val contentUri = ContentUris.withAppendedId(EXTERNAL_CONTENT_URI,id)
val date = durationToDate(it.getLong(dateColumn))
val img = Image(id,displayName,date,contentUri)
result += img
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)