MediaStore에서 파일의 이름하고 uri주소 받아오는법


제가 미디어스토어에서 파일 선택한거에 URI를 받아오는 onActivityResult를 만들었는데요 Uri selectedImage = data.getData(); 이걸 String으로 바꾸면

content://media/external/images/media/47 이렇게 나오거나 경로로 하면 /external/images/media/47이렇게 나와요 근데 이걸 절대경로로 알수있는법은 없나요??왜냐면 이미지를 불러와서 따른 곳에 복사하고싶고 또 이렇게 URI에서 넘버링 되면 디바이스가 껐다켜지면 넘버링도 바뀔것같은데...

  • 2016년 01월 11일에 작성됨

조회수 465


1 답변


좋아요
0
싫어요
채택취소하기

절대경로는

public String getRealPathFromURI(Context context, Uri contentUri) {
  Cursor cursor = null;
  try { 
    String[] proj = { MediaStore.Images.Media.DATA };
    cursor = context.getContentResolver().query(contentUri,  proj, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
  } finally {
    if (cursor != null) {
      cursor.close();
    }
  }
}

이렇게 하시면 바꿀수있어요

  • 2016년 01월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close