<permission>
: 기능을 보호하려는 앱의 매니페스트 파일에 설정한다.
<uses-permission>
: 퍼미션으로 보호된 기능을 사용하려는 앱의 매니페스트 파일에 설정한다.
=> 앱의 컴포턴트를 보호하고 싶을 때 매니페스트 파일에서 퍼미션을 설정할 수 있다.
<permission>
태그와 다음 속성을 이용한다. name
: 퍼미션의 이름 label, description
: 퍼미션을 설정한다.protectionLevel
: 보호 수준nomal
: 낮은 수준의 보호, 사용자에게 권한 요청을 하지 않아도 됨dangerous
: 높은 수준의 보호, 사용자에게 권한 요청을 요청해야 함signature
: 같은 키로 인증한 앱만을 실행 signatureOrSystem
: 안드로이드 시스템 앱이거나 같은 키로 인증한 앱만 실행된다. 여기서 보호수준이 dangerous 로 설정된 퍼미션만 나온다.
manifest 파일에 permission을 설정했다고 해서 컴포넌트가 보호되지는 않는다.
꼭< permission >
을 설정한 다음 이 퍼미션으로 보호하려는 컴포넌트에 적용해야 한다. 퍼미션을 컴포넌트에 적용할 때는android:permission
속성을 이용해야 한다.
API 레벨23이후로 버전부터 정책이 바뀌어서 사용자가 허가하지 않으면 앱에서 해당 기능을 사용할 수 없게 바뀜
open static fun checkSelfPermission(
@NonNull context: Context,
@NonNull context: String,
): Int
결과값은 다음 중 하나의 상수로 전달됨
PackageManager.PERMISSION_GRANTED : 권한을 허용한 경우
PackageManger.PERMISSION_DENIED : 권한을 거부한 경우