我从媒体存储中检索以下值
MediaStore.Images.Media.DATE_TAKEN
MediaStore.Images.Media.DATE_MODIFIED
然后从结果中读取日期,如下所示:
int dateTakenColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN);
int dateModifiedColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATE_MODIFIED);
String dateToken = cursor.getString(dateTakenColumn);
String dateModified = cursor.getString(dateModifiedColumn);
long lDateToken = dateToken != null ? Long.parseLong(dateToken) : 0;
long lDateModified = dateModified != null ? Long.parseLong(dateModified) : 0;
并且可以看到以下行为(示例值):
lDateToken
如下所示:1450696995000 <= CORRECTlDateModified
如下所示:1450696995 <= WRONG
好像修改日期都被截断了。我用文件浏览器检查了真实文件的最后修改日期,值应该没问题,但我总是从我的媒体文件中得到这么短的数字。
关于为什么会发生这种情况的任何想法?
PS: 检查这个http://developer.android.com/reference/android/provider/MediaStore.Images.ImageColumns.html , 但修改后的字段没有列在那里...
最佳答案
关于android - MediaStore - 修改日期无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442121/