07-02 03:26
Notice
Recent Posts
Recent Comments
07-02 03:26
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

pear

[android]Extenal File Access(over android 10) 본문

android

[android]Extenal File Access(over android 10)

pearlab 2023. 12. 19. 13:28

standard  - android API / targetSdkVersion

val targetSdkVersion: Int = applicationContext.applicationInfo.targetSdkVersion

 

android9(28 or less)

WRITE_EXTERNAL_STORAGE

 

android10(29)

WRITE_EXTERNAL_STORAGE

<application
...
android:requestLegacyExternalStorage="true">

 

android11(30 over)

READ_EXTERNAL_STORAGE

MediaStore

SFA(Storage Access Framework)

ACTION_OPEN_DOCUMEN
ACTION_CREATE_DOCUMENT

 

OR 

 

모든파일액세스

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

 

val resultLauncher:ActivityResultLauncher<Intent> = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {}
if (!Environment.isExternalStorageManager()) {
                var intent = Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)
                resultLauncher.launch(intent)
}

 

 

 

 

MANAGE_EXTERNAL_STORAGE

https://support.google.com/googleplay/android-developer/answer/10467955

 

Play Console의 권한 선언 양식을 사용해 이 권한 및 위험성이 높은 기타 모든 권한을 선언해야 합니다.

앱에서 저장소 액세스 프레임워크 또는 MediaStore API 등 개인 정보를 더 안전하게 보호하는 권장사항을 효과적으로 사용할 수 없는 경우에만 모든 파일 액세스 권한을 요청해야 합니다. 

 

 앱의 권한은 허용된 용도로만 사용되어야 하며 앱의 핵심 기능과 직접적으로 연결되어야 합니다. 핵심 기능이 제공되지 않으면 앱이 '고장' 났거나 사용할 수 없게 된 것입니다. 핵심 기능 및 이러한 핵심 기능을 구성하는 모든 핵심 특징은 앱 설명에서 가장 두드러지게 소개 및 홍보되어야 합니다. 

앱의 핵심 기능을 사용하기 위해 모든 파일 액세스 권한이 필요한 경우 개발자는 권한 선언 양식을 작성하고 Google Play의 승인을 받아야 합니다.

 

용도 대상 권한*
파일 관리
앱의 핵심 목적에 앱 전용 저장공간 외부의 파일 및 폴더에 대한 액세스, 수정, 관리(유지보수 포함)가 포함됩니다.
MANAGE_EXTERNAL_STORAGE

백업 및 복원 앱
앱에서 백업 및 복원의 목적으로 앱 전용 저장공간 외부의 여러 디렉터리에 자동으로 액세스할 필요가 있어야 합니다.
바이러스 백신 앱
앱의 핵심 목적이 기기를 검사하고 기기 사용자에게 바이러스 백신 보안 기능을 제공하는 데 있습니다.
문서 관리 앱
앱 전용 또는 공유 저장공간 외부에 있는 호환 가능한 형식의 파일을 찾아 액세스하고 수정하는 앱이어야 합니다.
콘솔 선언에서 앱 전용 파일 액세스 또는 저장소 액세스 프레임워크(개인 정보를 안전하게 보호 옵션) 문서에 설명된 해결 방법이 앱 목적을 실현하는 데 충분하지 않은 이유를 설명해야 합니다.
검색(기기)
앱의 핵심 목적이 기기의 외부 저장소에서 파일 및 폴더를 검색하는 데 있습니다.
디스크/폴더 암호화 및 잠금
앱의 핵심 목적이 파일 및 폴더를 암호화하는 데 있습니다.
기기 이전/휴대전화 데이터 전송
앱의 핵심 목적이 사용자가 새 기기로 이전할 수 있도록 지원하는 데 있습니다.

 

 

예외

Google Play에서는 다음의 경우 위에 지정된 허용되는 용도에 해당하지 않는 앱에 일시적으로 예외를 허용할 수 있습니다.

  • 권한 사용을 통해 앱의 핵심 기능을 사용할 수 있는 경우
  • 현재 핵심 기능을 제공할 다른 방법이 없거나, 개인 정보를 더 안전하게 보호하는 대안(예: MediaStore API 또는 저장소 액세스 프레임워크)을 사용하면 핵심 기능에 연결된 앱의 주요 기능에 상당히 부정적인 영향을 미치는 경우
  • 사용자 개인 정보 보호에 미치는 영향이 보안 및 개인 정보 보호 권장사항으로 완화되는 경우

개발자는 콘솔 선언에서 저장소 액세스 프레임워크 또는 MediaStore API가 앱의 목적을 실현하는 데 충분하지 않은 이유를 설명해야 합니다.