반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 알게되는
- k8s
- 안드로이드
- Rxjava
- viewmodel
- 코틀린
- 스레드
- 병렬프로그래밍
- mockito
- 안드로이드스튜디오
- 병럴프로그래밍
- 책
- kotlin강좌
- 알고리즘
- 커스텀상태
- 자바
- android
- 회고
- 코루틴
- Coroutine
- Kotlin
- Gradle
- theming
- ReactiveProgramming
- 안드로이드강좌
- 디자인패턴
- 테스트
- Compose
- 글또
- g 단위테스트
Archives
- Today
- Total
선생님, 개발을 잘하고 싶어요.
[잡학] 안드로이드 권한, 권한 요청 본문
권한의 목적
안드로이드 유저의 프라이버시를 보호하기 위해서 필요하다.
권한을 사용하기 위해서
- AndroidManifest.xml 파일에 사용하고 싶은 권한을 uses-permission 태그를 통해 작성한다.
권한 종류
-
Normal permissions
→ 단순히 메니페스트에만 정의하면 설치시에 자동으로 권한을 보장한다.
-
Dangerous permissions
→ 런타임에 명시적으로 사용자에게 권한을 요청해야 하는 골치거리
→ 주로 사용자 개인 정보와 관련된 권한
핵심 함수
ContextCompat.checkSelfPermission
→ 특정 권한이 PackageManager.PERMISSION_DENIED 인지, PackageManager.PERMISSION_GRANTED 인지 반환 한다.
ActivityCompat.shouldShowRequestPermissionRationale
→ 사용자가 권한 요청을 명시적으로 거부한 경우 true를 반환한다.
→ 사용자가 권한 요청을 처음 보거나, 다시 묻지 않음 선택한 경우, 권한을 허용한 경우 false를 반환한다.
결론적으로, shouldShowRequestPermissionRationale는 onRequestPermissionsResult 이외의 코드에서 사용하면 비결정적이다.
ActivityCompat.requestPermissions
→ 사용자에게 명시적으로 권한을 요청한다.
→ 안드로이드 시스템 표준 대화상자로 사용자에게 권한을 요구하며, 변경할 수 없다.
onRequestPermissionsResult
→ onActivityResult처럼, requestPermissions를 통해 받아온 사용자 응답에 따라 동작을 정의할 수 있다.
참조 사이트
https://developer.android.com/guide/topics/permissions/overview
'개발 > android 개발' 카테고리의 다른 글
Comments