참고: 경우에 따라 <uses-permission>
을 통해 요청하는 권한이 Google Play에서 애플리케이션을 필터링하는 방식에 영향을 미칠 수 있습니다. CAMERA
와 같은 하드웨어 관련 권한을 요청하면 Google Play는 애플리케이션에 기본 하드웨어 기능이 필요한 것으로 가정하고 이를 제공하지 않는 기기에서 애플리케이션을 필터링합니다.
필터링을 제어하려면 <uses-permission>
요소에서 요구사항을 '검색'하는 데 Google Play에 의존하지 말고 항상 <uses-feature>
요소에 하드웨어 기능을 명시적으로 선언합니다. 그런 다음, 특정 기능에 필터링을 사용 중지하려는 경우 android:required="false"
속성을 <uses-feature>
선언에 추가하면 됩니다.
하드웨어 기능을 암시하는 권한 목록은 <uses-feature>
요소에 관한 문서를 참고하세요.
- 문법
<uses-permission android:name="string" android:maxSdkVersion="integer" />
- 포함된 위치:
<manifest>
- 설명:
- 앱이 올바르게 작동하기 위해 사용자가 부여해야 하는 시스템 권한입니다. 사용자는 Android 5.1 이하를 실행하는 기기에서 애플리케이션이 설치될 때 또는 Android 6.0 이상을 실행하는 기기에서 앱이 실행되는 동안 권한을 부여합니다.
권한에 관한 자세한 내용은 앱 매니페스트 개요의 권한 섹션과 Android의 권한 가이드를 참고하세요. 기본 플랫폼에서 정의한 권한 목록은
android.Manifest.permission
에서 확인할 수 있습니다. - 속성:
android:name
- 권한 이름입니다. 이 권한은
<permission>
요소를 사용하여 애플리케이션에서 정의한 권한이거나, 다른 애플리케이션에서 정의한 권한이거나, 표준 시스템 권한(예:"android.permission.CAMERA"
또는"android.permission.READ_CONTACTS"
) 중 하나일 수 있습니다. 이 예시에 나와 있는 것처럼, 권한 이름에는 보통 접두사로 패키지 이름이 포함되어 있습니다. android:maxSdkVersion
- 앱에 이 권한을 부여해야 하는 최상위 API 수준입니다. 앱에 필요한 권한이 특정 API 수준부터 더 이상 필요하지 않은 경우 이 속성을 설정하면 유용합니다.
예를 들어 Android 4.4(API 수준 19)부터는 앱에서
WRITE_EXTERNAL_STORAGE
권한을 요청하지 않고도 외부 저장소의 자체 애플리케이션별 디렉터리(getExternalFilesDir()
에서 제공)에 쓸 수 있습니다.하지만 API 수준 18 이하에서는 이 권한이 필요합니다. 따라서 이 포드가 권한은 다음과 같은 선언으로 API 수준 18까지만 필요합니다.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
이렇게 하면 API 수준 19부터 시스템은 더 이상
WRITE_EXTERNAL_STORAGE
권한을 앱에 부여하지 않습니다.API 수준 19에 추가되었습니다.
- 도입 수준:
- API 수준 1
- 참고 항목: