0Pricing
Android Academy · 강의

Android 권한 모델

설치 시 권한과 실행 중 권한을 이해해 보세요.

Android 권한 모델은(는) CoddyKit의 무료 Android Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Android Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Android Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

권한 모델

Android는 권한을 통해 민감한 데이터와 기능을 보호합니다. 앱은 필요한 항목을 선언해야 하며, 민감한 항목의 경우 실행 중에 사용자에게 요청해야 합니다.

두 범주를 이해하는 것이 권한을 올바르게 처리하는 기초입니다.

매니페스트에서 선언하기

앱에서 사용하는 모든 권한은 AndroidManifest.xml에서 <uses-permission> 태그로 선언해야 합니다. 두 범주 모두에 해당합니다.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />

일반 권한(설치 시 권한)

일반 권한은 개인정보 보호 위험이 거의 없습니다. 시스템이 설치 시 자동으로 부여하므로 사용자에게 묻지 않습니다.

  • INTERNET
  • ACCESS_NETWORK_STATE
  • VIBRATE

권한을 선언하기만 하면 바로 사용할 수 있습니다.

위험 권한(실행 중 권한)

위험 권한은 사용자의 개인정보나 기기 기능을 보호합니다. 사용자가 실행 중에 명시적으로 허용해야 하며, 나중에 설정에서 취소할 수 있습니다.

  • CAMERA
  • ACCESS_FINE_LOCATION
  • READ_CONTACTS
  • RECORD_AUDIO

권한 그룹

위험 권한은 그룹에 속합니다(예: 위치, 연락처). 시스템 요청 창에는 원시 권한 이름 대신 그룹을 친절하게 설명하는 문구 하나가 표시됩니다.

실행 중 권한이 존재하는 이유

Android 6.0 이전에는 사용자가 설치할 때 모든 권한을 허용하거나 전혀 허용하지 않아야 했습니다. 실행 중 권한을 사용하면 기능을 실제로 사용할 때만 요청하여 사용자에게 세분화되고 취소 가능한 제어 권한을 제공합니다.

이 방식은 사용자가 상황에 맞는 요청을 확인할 수 있게 하여 신뢰를 쌓습니다.

이미 허용되었는지 확인하기

보호된 기능을 사용하기 전에 항상 확인하세요. ContextCompat.checkSelfPermission은 현재 권한이 허용되었는지 반환합니다.

val granted = ContextCompat.checkSelfPermission(
    context,
    Manifest.permission.CAMERA
) == PackageManager.PERMISSION_GRANTED

특수 권한

일부 기능은 일반 권한이나 표준 위험 권한에 해당하지 않으며, 특수 권한으로 분류됩니다. 이러한 권한은 사용자가 전용 시스템 설정 화면에서 토글을 직접 켜야 합니다. 예로 "다른 앱 위에 표시"와 "모든 파일 액세스"가 있습니다.

API 수준에 따라 달라지는 권한

권한의 분류와 동작은 계속 변경됩니다. 예를 들어 POST_NOTIFICATIONS는 Android 13부터 실행 중 권한이 되었습니다. 지원하는 API 수준에 해당하는 문서를 항상 확인하세요.

황금률

권한이 있다고 절대 가정하지 마세요. 흐름은 항상 다음과 같습니다.

  1. 매니페스트에서 선언합니다.
  2. 실행 중에 확인합니다.
  3. 허용되지 않았다면 요청합니다.
  4. 허용과 거부를 모두 적절하게 처리합니다.

최소 권한

정말 필요한 항목만 선언하고 요청하세요. 위험한 권한을 추가할 때마다 사용자의 신뢰가 낮아지고 Play 스토어 정책 검토가 진행될 수 있습니다. 이 내용은 개인정보 보호 학습에서 다시 다룹니다.

빠른 확인

권한 모델에 대한 이해도를 확인해 보세요.

요약

Android 권한 모델을 배웠습니다.

  • 모든 권한은 매니페스트에 선언합니다
  • 일반 권한은 설치할 때 자동으로 부여됩니다
  • 위험한 권한은 런타임에 명시적인 동의가 필요하며 취소할 수 있습니다
  • 사용하기 전에 항상 확인하세요. 일부 기능에는 특수 권한이 필요합니다

다음: Compose에서 권한 요청하기

자주 묻는 질문

“Android 권한 모델” 강의는 무료인가요?

네 — “Android 권한 모델” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Android Academy 강의 전체를 잠금 해제할 수 있습니다. Android Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Android 권한 모델”에서 뭘 배우나요?

설치 시 권한과 실행 중 권한을 이해해 보세요. 브라우저에서 직접 실행하는 실습 코드로 Android Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Android Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Android Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“Android 권한 모델” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Android Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Android Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Android 권한 모델
  2. Compose에서 권한 요청하기
  3. 거부와 권한 요청 이유 처리하기
  4. 개인정보 보호 모범 사례
← Android Academy(으)로 돌아가기