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 PickerMedia Store API를 사용해야 합니다.
      • 안드로이드 11 이상
        • Android 11부터는 Scoped Storage가 강제 적용되며, requestLegacyExternalStorage 설정이 무시됩니다.
        • 새로운 앱 배포할 때 쓰면 정책 위반