본문 바로가기
안드로이드

안드로이드 - android.permission.READ_EXTERNAL_STORAGE

by Dokon Jang 2015. 7. 25.
반응형

안드로이드 앱에서 SD메모리카드 등의 외부저장소에 파일을 읽기 위해서는 퍼미션 "android.permission.READ_EXTERNAL_STORAGE"이 필요합니다.

 

만일 위의 퍼미션이 없는데 파일을 읽으려고 하면 아래와 같은 Exception이 발생합니다.

(미디어 파일을 객체 MediaPlayer에서 읽을려고 할 때 발생한 Exception입니다.)

Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media from pid=18164, uid=10297 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()

 

해결 방법은 AndroidManifest.xml에 아래의 외부저장소 파일을 읽을 수 있는 권한을 부여하면 됩니다.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 

 

[전체 AndroidManifest.xml]

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.jmsys.myapplication" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

</manifest>
 

 

반응형

댓글