Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Convolutional Neural Networks
- 오픈소스
- 프로그래머스
- 경제 요약
- but how?
- 이베이 매각
- aws rds
- 2003 에러
- 뤼이드
- 스무고개 Metric
- flaks
- C++
- 110 옮기기
- 코딩테스트
- 리멤버나우 요약
- git-lfs
- cs231
- multi-task learning
- 딥러닝
- 2003 error
- flask
- 미국 이란 전쟁
- 프로그래머스 여행경로
- 리멤버나우
- 웹 독학
- pytorch-tutorial
- 알고리즘
- git password
- 장영준
- 백준 2193
Archives
- Today
- Total
Nam's
Android Studio (Java) 파일 접근 에러 open failed: EACCES (Permission denied) 본문
개발/APP
Android Studio (Java) 파일 접근 에러 open failed: EACCES (Permission denied)
namespace 2021. 2. 18. 13:44구글링을 하면서 해결방법을 3가지 정도 알게 됐는데, 내 경우에는 3가지 방법을 모두 적용해야 에러가 해결됐다.
1. AndroidManifest.xml에 uses-permission 추가
1
2
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
cs |
위치는 아래와 같이 <application> 밖에 적어줘야된다.
2. AndroidManifest.xml에 requestLegacyExternalStorage 추가
1
|
android:requestLegacyExternalStorage="true"
|
cs |
이번에는 <application> 안에 넣어줘야된다.

출처: medium.com/@sriramaripirala/android-10-open-failed-eacces-permission-denied-da8b630a89dfstackoverflow.com/questions/8854359/exception-open-failed-eacces-permission-denied-on-android/57804657#57804657
3. 사용자로부터 권한 승인 받기
파일에 접근하는 함수 이전에 verifyStoragePermissions(this)를 call 해주면 사용자에게 승인 요청 팝업이 뜬다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// Storage Permissions
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
/**
* Checks if the app has permission to write to device storage
*
* If the app does not has permission then the user will be prompted to grant permissions
*
* @param activity
*/
public static void verifyStoragePermissions(Activity activity) {
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// We don't have permission so prompt the user
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}
|
cs |
Comments