android/manifest
android:requestLegacyExternalStorage="true"
코코넛딩
2024. 12. 5. 13:17
- android:requestLegacyExternalStorage="true"
- 안드로이드 10에서만 가능
- 안드로이드 9이하 방식의 외부 저장소 접근 방식을 사용할 수 있도록하는 설정입니다.
- 안드로이드 9이하의 외부 저장소 방식
- 앱이 WRITE_EXTERNAL_STORAGE 또는 READ_EXTERNAL_STORAGE 권한만 있으면 외부 저장소 전체를 자유롭게 읽고 쓸 수 있다.
- WRITE_EXTERNAL_STORAGE 또는 READ_EXTERNAL_STORAGE 권한을 얻으려면 사용자에게 권한을 허용해야한다.
- 안드로이드 10 이상의 외부 저장소 방식
- Scoped storage 사용
- 각 앱이 **자기 앱 전용 디렉터리(예: /Android/data/[package_name]/)**에만 자유롭게 접근 가능.
- 공유 디렉터리(예: Downloads, Pictures, Music 등)에 접근하려면 Document Picker나 Media Store API를 사용해야 합니다.
- Scoped storage 사용
- 안드로이드 11 이상
- Android 11부터는 Scoped Storage가 강제 적용되며, requestLegacyExternalStorage 설정이 무시됩니다.
- 새로운 앱 배포할 때 쓰면 정책 위반
- 안드로이드 9이하의 외부 저장소 방식