안드로이드 개발

open failed: EACCES (permission denied) 간단 해결 방법

피커 2022. 12. 29. 16:42
728x90
반응형

안드로이드 앱 개발시 open failed: EACCES (permission denied)  에러가 나온다면

아래 3가지를 시도해보면 해결된다.

 

1. 적절한 퍼미션 부여했는가?

   -. 아래 2개 퍼미션이 androidMafest.xml에 정의되어있는지 확인한다.

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

      적용 후 모습은 아래 스크린샷과 같다.

android.permission.READ_EXTERNAL_STORAGE 스크린샷

 

2. requestLegacyExternalStorage 적용했는가?

   -. AndroidManifest.xml에 아래처럼 적용했는지 확인한다.

android:requestLegacyExternalStorage="true"

   적용 후 모습은 아래 스크린샷과 같다.

android:requestLegacyExternalStorage="true"

 

 

3. 1번과 2번을 했는데도 안된다면, 앱 시작시 퍼미션 확인이 필요하다.

private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
    Manifest.permission.READ_EXTERNAL_STORAGE,
    Manifest.permission.WRITE_EXTERNAL_STORAGE
};

public static void verifyStoragePermissions(Activity activity) {
    int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(
            activity,
            PERMISSIONS_STORAGE,
            REQUEST_EXTERNAL_STORAGE
        );
    }
}
반응형