[Android] uses-permission 이란? (앱이 사용하는 권한들의 목록을 나열)
2022. 4. 18. 01:04문법
<uses-permission android:name="string"
android:maxSdkVersion="integer" />
설명
- uses-permission은, 앱이 올바르게 작동하기 위해 사용자가 반드시, 이 앱에게 부여해야 하는 시스템 권한입니다.
앱이 실행중일 때(Android 6.0 이상 버전을 실행하는 기기) 사용자에게 권한이 부여됩니다.
즉, 여기에(uses-permission) 정의된 권한은 설치 과정 중(Android 5.1이하 버전에서 가능) 혹은 앱이 실행 중일 때,
사용자에게 권한을 부여할건지 말건지를 보여주고, 권한 부여 혹은 권한 거절이 결정됩니다.
- uses-permission은, 앱이 사용하는 권한들의 목록을 나열한 것입니다.
다른 말로, uses-permission은 이 앱이 제대로 돌아가기 위해 받아야할 권한들의 목록이라고 이해하면 좋습니다. (반대로 말하면, 이 권한이 부여되지 않았으면, 이 앱이 제대로 돌아가지 않을 것입니다.
어찌됐든, 이 uses-permission에 등록된 권한들은, 앱 구현시 이 앱이 필히 권한을 부여받아야 한다는 걸 잊지 마세요.
*참고 Android 5.1 이하 버전을 실행하는 기기는 애플리케이션이 설치 될 때, 사용자가 앱에 대한 권한을 부여할 수 있습니다.
속성
1) android:name
권한의 이름입니다. 아래의 유형이 존재합니다.
1) <permission> 요소가 있는 애플리케이션에서 정의한 권한이거나
2) 다른 애플리케이션에서 정의한 권한이거나
3) 표준 시스템 권한 (예를 들어, "android.permission.CAMERA" 또는 "android.permission.READ_CONTACTS") 중 하나일 수 있다.
2) android:maxSdkVersion
앱이 이 권한을 부여해야하는 최상위 API 수준.
앱에 필요한 권한이 특정 API 수준부터 더이상 필요하지 않은 경우, 이속성을 설정하면 유용함.
참고
참고: 경우에 따라 <uses-permission>을 통해 요청하는 권한이 Google Play에서 애플리케이션을 필터링하는 방식에 영향을 미칠 수 있습니다.
예를 들어 하드웨어 관련 권한인 CAMERA를 요청할 경우 Google Play는 애플리케이션이 기본 하드웨어 기능을 필요로 한다고 간주하고 이를 제공하지 않는 기기에서 이 애플리케이션을 필터링합니다.
필터링을 제어하려면 <uses-permission> 요소에서 요구사항을 '검색'하는 데 Google Play에 의존하지 말고 항상 <uses-feature> 요소에 하드웨어 기능을 명시적으로 선언합니다. 그런 다음, 특정 기능에 필터링을 사용 중지하려는 경우 android:required="false" 속성을 <uses-feature> 선언에 추가하면 됩니다.
하드웨어 기능을 암시하는 권한 목록은 <uses-feature> 요소에 관한 문서를 참고하세요.
참고자료/출처
https://developer.android.com/guide/topics/manifest/uses-permission-element?hl=ko
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wlsspakss&logNo=220824115151
'Android > Android' 카테고리의 다른 글
Android SDK 리눅스(우분투)에 설치하기 (0) | 2022.04.25 |
---|---|
Android 경로, 안드로이드 경로 (0) | 2022.04.21 |
[Android] MVVM패턴 쉽게 이해하기 (0) | 2022.04.15 |
[Android] AOSP 다운로드하기 (WSL 활용) (0) | 2022.03.08 |
[Android] Android APK에서 Manifest 파일 수정해보기 (0) | 2022.03.08 |