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

조회수 5286회

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

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

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();
        }
      }
    }
    

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)