Обновление запроса DATE_TAKEN отличается от обновления DATE_TAKEN - PullRequest
0 голосов
/ 12 ноября 2018

Я создал копию растрового изображения и использую обновление столбца MediaStore DATE_TAKEN копии с помощью DATE_TAKEN исходной фотографии.Скажем, это было 11/08/2018 в миллисекундах с 1970 года.

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

Это сработало, потому что когда я отлаживал, mRowsUpdated показывает 1.

Но когда я пытаюсь получить его, дата в миллисекундахэто совершенно другое.Это становится 12/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);
}

Был забавный момент.Я получаю дату и отображаю ее в виде таблицы.Первый раз, когда я его запустил, он действительно работалНо как только я коснулся вида сетки, дата изменилась на сегодняшнюю дату.

...