<안드로이드/Android> open failed: EACCES Permission denied 해결하기

Posted by 앱해피
2015. 6. 17. 03:17 안드로이드 스튜디오
open failed: EACCES Permission denied 무엇인가?

 

이 에러는 안드로이드 어플리케이션에서 외부 디렉터리에 존재하는 데이터에 접근 하려고 할 때 해당 파일에 대한 접근 권한이 없다는 것을 말합니다.

 

open failed : EACCES Permission denied 발생하는 코드의 한가지 예

 

            
            mMusicPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/music.mp3";
            File mp3file = new File(mMusicPath);
            if(mp3file.exists()){

                new Thread(new Runnable()
                {
                    @Override
                    public void run() {
                        try {
                            Log.e("music", "미디어 플레이어 시작");
                            mMediaPlayer.setDataSource(mMusicPath);
                            mMediaPlayer.prepare();
                            mMediaPlayer.start();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();

            }

 

mMusicPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/music.mp3";

외부 디렉토리에서 접근할 파일의 경로를 찾고 있는 코드입니다.

 

mMediaPlayer.setDataSource(mMusicPath);

위에서 설정한 파일 경로를 이용해서 실제 파일에 접근하는 코드입니다.

 

 

EACCE Permission denied 문제 해결하기

 

안드로이드 매니 페스트 파일에 외부 디렉토리에 접근할 수 있는 권한을 줘야 합니다.

 

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

 

코드를 매니페스트 파일에 추가합니다.

 

혹시라도 도움이 되셨다면 추천 부탁드립니다 ^_^

 

로그인 없이도 가능해요!!!