我的问题是我想获取一张DATE_TAKEN张长照片。我获取Uri的一种方法是通过ACTION PICK Intent选择并在OnActivityResult()中获取Uri。这种方式有效。我知道日期。 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);
}
我从this article学到了创建content://样式Uri的方法。 但是问题是当我以这种方式创建游标时,出于某种原因,dateColumn索引将为-1。这是Uri:
它抛出此错误: