DATE_TAKEN查询检索与更新的DATE_TAKEN不同

时间:2018-11-12 16:34:52

标签: java android android-contentprovider

我创建了位图的副本,并使用原始照片的DATE_TAKEN更新了副本的MediaStore DATE_TAKEN列。假设是从1970年开始,以毫秒为单位的2018年11月8日。

ContentValues mUpdateValues=new ContentValues();
mUpdateValues.put(MediaStore.Images.Media.DATE_TAKEN,millis);
int mRowsUpdated=getContentResolver().update(
    getImageContentUri(this,file)
    ,mUpdateValues
    ,null
    ,null
);

之所以起作用,是因为在我调试时,mRowsUpdated显示为1.。

但是当我尝试检索它时,以毫秒为单位的日期是完全不同的。现在是今天的11/12/2018:

Long longDate=null;
String[] projection=new String[] {MediaStore.Images.Media.DATE_TAKEN};
Uri uri=getImageContentUri(context,new File(g.getPath()));
Cursor cur=context.getContentResolver().query(
    uri
    ,projection
    ,null
    ,null
    ,null);
if(cur.moveToFirst()){//when cursor is empty
int dateColumn=cur.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN);
longDate = cur.getLong(dateColumn);
}

有一个有趣的时刻。我正在检索日期并将其显示在网格视图项中。我第一次运行它,它实际上起作用了!但是,一旦我触摸了网格视图,日期就会更改为今天的日期。

0 个答案:

没有答案