Development record of developer who study hard everyday.

레이블이 안드로이드공유저장소디렉토리인 게시물을 표시합니다. 모든 게시물 표시
레이블이 안드로이드공유저장소디렉토리인 게시물을 표시합니다. 모든 게시물 표시
, , , , , ,

안드로이드 공유 저장소에 폴더(디렉토리) 만들기

 안드로이드 공유 저장소에 폴더(디렉토리) 만들기

안드로이드 개발 블로그

이전 글(공유 저장소에서 파일 다루기)에 이어서 이번엔 공유 저장소에서 디렉토리를 만드는 방법을 소개한다.

val fileIntent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)    //1
fileLauncher.launch(fileIntent)

1- Intent.ACTION_OPEN_DOCUMENT_TREE를 사용하여 Selector UI를 열어준다.

val fileLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if(result.resultCode == RESULT_OK) {
Log.d(TAG, "result is RESULT_OK")

val uri = result.data?.data    //1
Log.d(TAG, "uri is $uri")

val takeFlags = (intent.flags and (Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION))    //2
if (uri != null) {
contentResolver.takePersistableUriPermission(uri, takeFlags)
val folderDoc = DocumentFile.fromTreeUri(this, uri)    //4
folderDoc?.createDirectory("BooDir")    //5
}
}
}

1- uri를 받는다

2- 해당 uri에서 허용할 권한을 명시해준다

3- 해당 권한에 대해 지속적인 권한을 얻는다.

4- DocumentFile 문서들을 쉽게 다루기 위한 추상 클래스

5- 폴더 만들기

앱은 사용자가 선택한 파일들을 디바이스가 꺼질 때까지 읽고 쓸 수 있다.

다시 말해, 디바이스가 종료되면 파일에 대한 권한을 잃어버리기 때문에 위 3번과 같은 방식으로 권한을 얻는 방법을 추천한다.



Share:
Read More