본문 바로가기

프로그래밍/안드로이드

안드로이드 open failed: EACCES (Permission denied) 권한 다 했는데 진짜 해결 방법, 안드로이드 10 이상

728x90
반응형

이 망할 오류 때문에 일단 3일 정도 시간 낭비를 했다

이 글을 보시는 분들은 다른 블로그를 보면서 대충 어떻게든 해봤는데도 안되어서 들어오신걸로 생각됩니다

그러니 세세하게 설명하지는 않을게요

 

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

일단 이거는 무조건 하셨을거고

 

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

이것도 하신분들도 있을겁니다

 

private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static final String[] PERMISSIONS_STORAGE = {
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE
};
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
int permission2 = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);

if (permission != PackageManager.PERMISSION_GRANTED) {
    // We don't have permission so prompt the user
    ActivityCompat.requestPermissions(
            activity,
            PERMISSIONS_STORAGE,
            REQUEST_EXTERNAL_STORAGE
    );
}

if (permission2 != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(
            activity,
            PERMISSIONS_STORAGE,
            REQUEST_EXTERNAL_STORAGE
    );
}

여기까지는 하셨을겁니다만... 이건 안했을겁니다

 

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
    if(!Environment.isExternalStorageManager()){
        Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
        activity.startActivity(intent);
    }
}

뿩 이거만 하면 모든 파일 접근 뭐 이런식으로 나오는데 그거 해결해줍니다 망할놈

 

 

너무 잘불러와지는 csv.....

 

에라이 퉤퉤

 

 

728x90
반응형