Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드 유닛 테스트
- 안드로이드 라이선스
- 안드로이드 유닛 테스트 예시
- 멤버변수
- rxjava disposable
- 안드로이드 유닛테스트란
- rxjava cold observable
- 2022 플러터 안드로이드 스튜디오
- 서비스 vs 쓰레드
- rxjava hot observable
- android retrofit login
- 서비스 쓰레드 차이
- 객체
- android ar 개발
- 안드로이드 레트로핏 사용법
- 클래스
- Rxjava Observable
- 스택 자바 코드
- 자바 다형성
- 2022 플러터 설치
- jvm이란
- jvm 작동 원리
- 플러터 설치 2022
- ar vr 차이
- 안드로이드 라이선스 종류
- 안드로이드 os 구조
- 안드로이드 레트로핏 crud
- 큐 자바 코드
- 스택 큐 차이
- ANR이란
Archives
- Today
- Total
나만을 위한 블로그
[Manifest-Android] 23. 런타임 권한 다루기 본문
728x90
반응형
안드로이드 6(api 23)부터 앱은 설치 시 자동으로 권한을 얻는 대신 런타임에 위험 권한을 명시적으로 요청해야 한다.
이 방식은 유저가 필요할 때만 권한을 허용하게 해서 개인정보 보호를 강화한다.
권한 선언, 확인
권한 요청 전에 앱은 매니페스트에 해당 권한을 선언해야 한다. 런타임 시에는 유저가 해당 권한이 필요한 기능과 상호작용할 때만 권한을 요청해야 한다.
유저에게 요청하기 전에 ContextCompat.checkSelfPermission()을 써서 권한이 이미 부여됐는지 확인하는 게 중요하다. 권한이 부여된 경우 해당 동작은 계속 진행할 수 있으며 그게 아니면 앱은 유저 권한을 올바르게 요청해야 한다.
권한 요청
권장되는 방법은 권한 처리를 단순화하는 ActivityResultLauncher API를 쓰는 것이다. 그러며 시스템은 유저에게 권한 요청을 허용하거나 거부하게 안내한다.
권한 요청 근거(Rationale) 제공
경우에 따라 시스템은 shouldShowRequestPermissionRationale()을 써서 권한 요청 전 해당 기능을 쓰기 위해 권한이 필요한 근거를 표시할 걸 권장한다. true면 UI는 해당 권한이 필요한 이유를 설명해야 한다.
권한 거부 처리
유저가 권한을 여러 번 거부하면 안드로이드는 영구 거부로 처리해서 앱이 다시 요청할 수 없게 된다. 이 때 유저에게 기능 제한을 알리고 필요하면 설정 화면으로 안내해야 한다.
반응형
'스터디' 카테고리의 다른 글
[Manifest-Android] 25. 예외 (0) | 2025.07.09 |
---|---|
[Manifest-Android] 24. Looper, Handler, HandlerThread (0) | 2025.07.09 |
[Manifest-Android] 22. SparseArray (0) | 2025.07.09 |
[Manifest-Android] 21. ActivityManager (0) | 2025.07.09 |
[Manifest-Android] 20. 구성 변경 시 액티비티에 생기는 변화 (0) | 2025.06.30 |
Comments