를 반환합니다. 내 의견으로는 특별한 것은 없습니다. 이 이미지에 대한 정보를 얻으려고 할 때 문제가 발생합니다. 다른 곳에서 내 코드 :커서는 항상 내가 이런 식으로 내 카메라에서 사진을 저장하고있어
Uri selectedImage = Uri.fromFile(new File(sample.getPicture()));
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(selectedImage);
getSherlockActivity().sendBroadcast(mediaScanIntent); //Now it's in the Gallery
selectedImage = Uri.parse("content://"+(new File(sample.getPicture()).toString()));
String[] filePathColumn = {MediaStore.Images.ImageColumns.ORIENTATION};
Cursor cursor = getSherlockActivity().getContentResolver().query(selectedImage, filePathColumn, null, null, null);
if(cursor != null)
{
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
Log.i("ImageTest", cursor.getString(columnIndex));
cursor.close();
}
else
{
Log.i("ImageTest", selectedImage .toString());
}
는 다른 정상입니다 반환 content:///storage/emulated/0/com.korcholis.testapp/pictures/1aaf2e587kg519cejk88ch6hle372.png
를, 로그,하지만 커서는 cursor.moveToFirst()
에서 null
입니다. 커서가 이미지를 찾을 수없는 것 같습니다. 그러나 파일 관리자를 통해 저장소로 들어갈 때 이미지는 올바른 폴더에서 쉽게 찾을 수 있습니다. 또한 file://
을 사용할 때 파일이 실제로 존재하는지 확인했습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
편집 5/8/2013 : 나는 해결책을 찾고 있었지만 불가능 해 보였습니다. 나는 다른 스레드에서 file://
이 getContentResolver()
을 사용하기에 충분하다고 생각하지 않기 때문에 content://
을 사용해 보았습니다. 이것은 내 노력에도 불구하고 예상대로 잘 돌아 가지 않습니다. 내가 사용하고있는 코드에 마지막 코드 블럭을 편집했다. 나는 심지어 그것을 갤러리에 추가하려고 시도했기 때문에 "해결 된 컨텐츠 목록"의 항목으로 간주 될 수 있습니다.
당신이 파일에 대한 정보를 원할 때 문제가 온다 당신 말을. 코드의 다른 부분에 대한 이미지를 원한다는 것을 이해합니다. 그 시점에서 정확히 무엇이 필요합니까? –
[MediaStore.Images.Media.ORIENTATION]을 [answer here] (http://stackoverflow.com/questions/16397279/implement-a-take-picture-crop-or-use-premade-)로 가져오고 싶습니다. 의도). 그냥. 나는 또한 그림을 잡고 그림 뷰로 드로어 블 (Drawable)로 설정할 수 있기 때문에 그림이 존재한다. – Korcholis