파일 권한 얻기
편집하기
둘러보기로 이동
검색으로 이동
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
파일 권한 얻기 AndroidManifest.xml <source lang='xml'> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> </source> build.gradle.kts <source lang='xml'> buildFeatures { buildConfig = true } </source> <source lang='kotlin'> import android.content.Intent import android.net.Uri import android.os.Build import android.os.Environment import android.provider.Settings import androidx.compose.foundation.layout.* import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp @Composable fun ManageAllFilesPermissionScreen() { val context = LocalContext.current var hasPermission by remember { mutableStateOf(checkAllFilesPermission(context)) } // 권한 상태를 주기적으로 확인할 수 있는 효과 LaunchedEffect(Unit) { while (true) { hasPermission = checkAllFilesPermission(context) kotlinx.coroutines.delay(1000) // 1초마다 확인 } } Column( modifier = Modifier .fillMaxSize() .padding(16.dp), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally ) { if (hasPermission) { Text("모든 파일 액세스 권한이 부여되었습니다.") } else { Text("앱 사용을 위해 모든 파일 액세스 권한이 필요합니다.") Spacer(modifier = Modifier.height(16.dp)) Button(onClick = { requestAllFilesPermission(context) }) { Text("권한 설정으로 이동") } } } } // 권한 부여 여부 확인 fun checkAllFilesPermission(context: android.content.Context): Boolean { return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { // Android 11 (API 30) 이상 Environment.isExternalStorageManager() } else { // Android 10 이하에서는 일반 READ/WRITE 권한으로 충분합니다. // 여기서는 예시를 위해 항상 true를 반환하거나 다른 권한 확인 로직을 추가할 수 있습니다. true } } // 사용자에게 권한 요청 (설정 화면으로 이동) fun requestAllFilesPermission(context: android.content.Context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { // Android 11 (API 30) 이상 val intent = Intent( Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION, Uri.parse("package:${context.packageName}") ) context.startActivity(intent) } // Android 10 이하에서는 이 함수를 호출할 필요가 없습니다. } </source>
요약:
redbird's home에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
Redbird's home:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
계정 만들기
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보