마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SK Sol Prime 휴대폰 모델에서 겔러리 요청 시 문제가 있습니다.

0 추천
겔러리에서 사진 선택 후 Uri 를 얻은 다음 아래과 같이 실제 경로를 얻어오는데

Sol Prime 모델에서는 MediaStore.Images.Media.DATA 필드의 값이 null 로 나오는데

원인이나 해결방법 알고 계신분 있나요?

 

 private File getImageFile(Uri uri) {
        String[] projection = { MediaStore.Images.Media.DATA };
       
        Cursor mCursor = getContentResolver().query(uri, projection, null, null,
                MediaStore.Images.Media.DATE_MODIFIED);
        if(mCursor == null || mCursor.getCount() < 1) {
            return null; // no cursor or no record
        }
        int column_index = mCursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        mCursor.moveToFirst();
 
        String path = mCursor.getString(column_index);
         
        if (mCursor !=null ) {
            mCursor.close();
            mCursor = null;
        }
         
        return new File(path);
    }
jerome.lee (160 포인트) 님이 2017년 11월 20일 질문

1개의 답변

0 추천

if (mCursor == null || mCursor.getCount() < 1) {

    // 로깅

    return null;

}

// 로깅

return new File(path)

 

두 곳에서 로그를 남겨보면 어디에서 null이 반환되는건가요?

 
minor (13,710 포인트) 님이 2017년 11월 20일 답변
String path = mCursor.getString(column_index);

이 부분에서 반환되는 path 값이 null 입니다.
다른 단말기들은 정상적으로 값이 존재하는데 이 모델에서만 그렇네요.
단말기라도 있으면 디버깅이라도 해보겠는데 error report 올라온 걸로만 문제를 해결하려니 난감합니다.
sol prime에서 지금까지 확인된 유사한 오류는 없는 것으로 보입니다.
제조사에 해당 현상을 문의해보셔야 할 것 같습니다.
가끔 갤럭시 폴더폰에서도 유사한 오류가 발생하기도 합니다.
네.. 답글 감사합니다..
...