본문 바로가기

안드로이드 심심풀이/에러

[안드로이드 스튜디오]java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider 오류

반응형

안녕하세요! 제가 낮은 버전의 공기계를 쓰던도중 높은 버전의 기기를 사용하게 되었는데요!

낮은버전에서 되던 어플이 갑자기 안되더라고요 ㅠㅠ

java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=14331, uid=10419 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()

이런 오류가 뜨면서 말이죠

 

그래서 이런저런 구글링을 하던도중 원인을 알아냈습니다!

 

API 23이상부터는 권한을 기기에서 직접 허락을 해야 사용할 수 있는데요!

 

그러기 위해서는 펄미션뿐만 아니라 사용하시려는 activity 부분에

if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED) {

            // Should we show an explanation?
            if (shouldShowRequestPermissionRationale(
                    Manifest.permission.READ_EXTERNAL_STORAGE)) {
                // Explain to the user why we need to read the contacts
            }

            requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                    MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);

            // MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE is an
            // app-defined int constant that should be quite unique

            return;
        }

이 코드를 추가해주시면 됩니다!

 

감사합니다 ㅎㅎ

반응형