Моя проблема в том, что я пытаюсь получить длинный номер фотографии DATE_TAKEN. Один из способов получить Uri - это выбрать через ACTION PICK Intent и получить Uri в OnActivityResult (). Этот способ работает. Я получаю дату. Индекс столбца для DATE_TAKEN равен 0. Вот Uri:
Во-первых, чтобы было ясно. Это изображение, которое является копией изображения. Мне нужно переместить фотографию в папку. Поэтому мне нужно создать новое растровое изображение и переименовать его. Здесь я получаю Uri из нового пути к файлу, который я ему дал:
String[] projection=new String[] {MediaStore.Images.Media.DATE_TAKEN};
Uri photoUri= FileProvider.getUriForFile(context
,BuildConfig.APPLICATION_ID+".provider"
,new File(g.getPath()));
Cursor cur=context.getContentResolver().query(photoUri,projection,null,null,null);
if(cur.moveToFirst()){//when cursor is empty
int dateColumn=cur.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN);
longDate = cur.getLong(dateColumn);
}
Я научился создавать контент: // стиль Uri из этой статьи .
Но проблема в том, что когда я создаю курсор таким образом, индекс dateColumn будет равен -1, по некоторым причинам. Вот Ури:
Выдает эту ошибку: