#android #mediastore
#Android #mediastore
Вопрос:
Я использую 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,
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
}
}
Комментарии:
1. Это больше похоже на отчет об ошибке, а не на вопрос
2. @Pawel Чего я с нетерпением жду, так это альтернативного решения для DATE_TAKEN. Позвольте мне отредактировать вопрос, чтобы прояснить его.
3. Чего я с нетерпением жду, так это того, что вы опубликуете использованный код.
4. @blackapps добавил код MediaStore, который я использую 🙂
5. Вы, конечно, должны опубликовать код, с помощью которого вы добавляете изображения.