프로그래밍/Android Studio

안드로이드 퍼미션이란?

나도 오늘부터 개발자?! 2022. 2. 1. 12:24

퍼미션
퍼미션이란 자신의 앱을 외부에서 이용할 때 권한을 부여하여 해당 권한을 가지고 들어올 때만 실행되게 하기위한 설정입니다! 만약 내 앱에 컴포넌트를 보호하고 싶으면 퍼미션을 주면 됩니다 ~

그리고 퍼미션을 설정한 앱을 내 앱과 연동을 시키기 위해서는 내 앱에 uses-permission을 선언해야 합니다 그렇지 않으면 실행시 에러가 나게 됩니다!

퍼미션 설정 방법
1. 퍼미션 선언해주기 

사진에 나온 부분 처럼 퍼미션을 선언해 줘야 사용을 할 수 있습니다 ~ 

name 은 퍼미션의 이름이고 

labeldescription은 퍼미션에 대한 설명(사용자에게 보이는 문자열) 입니다 ~

protectionLevel은 보호수준을 말합니다 

여기서  protectionLevel 총 4가지가 있으며,

normal: 낮은 수준의 보호. 사용자에게 권한 부여 요청이 필요없음

dangerous: 높은 수준의 보호. 사용자에게 권한 부여 요청이 필요함

signature: 동일한 키로 서명된 앱만 실행

signatureOrSustem: 안드로이드 시스템 앱이거나 동일 키로 서명된 앱만 실행

으로 나뉘게 됩니다 ~ 

2. 퍼미션 적용하기

퍼미션은 선언한다고 컴포넌트가 퍼미션에 보호되는것은 아닙니다. 그래서 퍼미션을 선언하고 싶은 컴포넌트 안에 사진처럼 퍼미션을 선언해주면 됩니다 ~

이렇게 퍼미션이 적용된 앱을 사용하기 위해서는 내 앱에 

uses-permission을 적용 해줘야지 사용이 가능하게 됩니다 ~

 

그리고 퍼미션중에 시스템에에 적용이 되어있는 퍼미션도 있는데 대표적인 예가 외부저장 공간 입니다!

시스템에서 퍼미션을 사용하는 이유는 특정 기능을 시스템에서 보호하고 있기 때문이며, 이런 시스템 기능을 사용하기 위해서는 uses-permission을 적용해 줘야 합니다!

그리고 시스템에서 퍼미션으로 보호하는 기능들은 대부분 사용자에게 위험부담이 있는 기능인데 대표적인게 위치추적 기능입니다 ~ 만약 사용자가 위치추적기능 권한을 허용하게 되면 그사람의 위치가 실시간으로 나오기 떄문에 그런 사생활 보호를 위해 시스템에서 퍼미션으로 적용하게 된 것입니다 ~