uri -> 절대경로 변환시 주의점

Gong Kang·2021년 8월 19일
0

갤러리에서 사진을 가져오는 작업을 할 때 uri를 많이 사용한다.
이 때, uir -> 절대경로 변환 함수 로직을 많이 사용하는데,
갤러리를 불러오는 인텐트를 어떻게 설정하느냐에 따라
변환 함수 로직이 제대로 되는경우가 있고 안되는 경우가 있다.
따라서 아래 방법으로 고정하면 편하다!!

갤러리 불러오는 인텐트

//basicImg 클릭시 사진 선택을 위해 갤러리로 이동합니다
        basicImg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(Intent.ACTION_PICK);
                intent.setType(MediaStore.Images.Media.CONTENT_TYPE);

                //다중 이미지를 가져올 수 있도록 세팅
                intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
                intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(intent, 2222);


            }
        });

uri -> 절대 경로 변환

//핸드폰 갤러리에 있는 사진의 uri 를 통해 경로를 얻는 것.
    public String getPathFromUri(Uri uri){

        Cursor cursor = getContentResolver().query(uri, null, null, null, null );

        cursor.moveToNext();

        String path = cursor.getString( cursor.getColumnIndex( "_data" ) );

        cursor.close();

        return path;
    }
profile
꾸준히 하루에 한번씩..!

0개의 댓글