퍼미션
퍼미션이란 자신의 앱을 외부에서 이용할 때 권한을 부여하여 해당 권한을 가지고 들어올 때만 실행되게 하기위한 설정입니다! 만약 내 앱에 컴포넌트를 보호하고 싶으면 퍼미션을 주면 됩니다 ~
그리고 퍼미션을 설정한 앱을 내 앱과 연동을 시키기 위해서는 내 앱에 uses-permission을 선언해야 합니다 그렇지 않으면 실행시 에러가 나게 됩니다!
퍼미션 설정 방법
1. 퍼미션 선언해주기
사진에 나온 부분 처럼 퍼미션을 선언해 줘야 사용을 할 수 있습니다 ~
name 은 퍼미션의 이름이고
label과 description은 퍼미션에 대한 설명(사용자에게 보이는 문자열) 입니다 ~
protectionLevel은 보호수준을 말합니다
여기서 protectionLevel 총 4가지가 있으며,
normal: 낮은 수준의 보호. 사용자에게 권한 부여 요청이 필요없음
dangerous: 높은 수준의 보호. 사용자에게 권한 부여 요청이 필요함
signature: 동일한 키로 서명된 앱만 실행
signatureOrSustem: 안드로이드 시스템 앱이거나 동일 키로 서명된 앱만 실행
으로 나뉘게 됩니다 ~
2. 퍼미션 적용하기
퍼미션은 선언한다고 컴포넌트가 퍼미션에 보호되는것은 아닙니다. 그래서 퍼미션을 선언하고 싶은 컴포넌트 안에 사진처럼 퍼미션을 선언해주면 됩니다 ~
이렇게 퍼미션이 적용된 앱을 사용하기 위해서는 내 앱에
uses-permission을 적용 해줘야지 사용이 가능하게 됩니다 ~
그리고 퍼미션중에 시스템에에 적용이 되어있는 퍼미션도 있는데 대표적인 예가 외부저장 공간 입니다!
시스템에서 퍼미션을 사용하는 이유는 특정 기능을 시스템에서 보호하고 있기 때문이며, 이런 시스템 기능을 사용하기 위해서는 uses-permission을 적용해 줘야 합니다!
그리고 시스템에서 퍼미션으로 보호하는 기능들은 대부분 사용자에게 위험부담이 있는 기능인데 대표적인게 위치추적 기능입니다 ~ 만약 사용자가 위치추적기능 권한을 허용하게 되면 그사람의 위치가 실시간으로 나오기 떄문에 그런 사생활 보호를 위해 시스템에서 퍼미션으로 적용하게 된 것입니다 ~
'프로그래밍 > Android Studio' 카테고리의 다른 글
RecyclerView 연습 (2) (0) | 2022.02.22 |
---|---|
RecyclerView 연습용 (0) | 2022.02.18 |
안드로이드 match_parent와 fill_parent 그리고 wrap_content 차이 (0) | 2022.01.25 |
안드로이드 정리 (컴포넌트, 리소스, R.java, 레이아웃) (0) | 2022.01.23 |
안드로이드 테두리(border) 만들기 및 액션바 없애기 (0) | 2022.01.19 |