본문 바로가기
옛날

[안드로이드] 앱 내에서 런타임 권한을 요청하는 방법

by 차가운게 조아 2016. 1. 12.









서포트 라이브러리


앱 내에서 런타임 권한을 요청해야 하는 경우, 개발자 여러분이 하위 호환성 걱정 없이 새로운 API를 활용할 수 있도록 서포트 라이브러리(support-v4 library, revision 23)에 관련된 API가 추가되었습니다. 

ContextCompat.checkSelfPermission() 메서드를 이용해 현재 앱이 특정 권한을 갖고 있는지를 확인 할 수 있고,
ActivtiyCompat.requestPermissions() 메서드를 사용해, 안드로이드 시스템이 사용자에게 권한 요청 대화창을 표시하도록 할 수 있습니다. 

사용자가 한 번 권한을 수락한 후에도, 시스템 설정 메뉴를 통해 기존 권한을 제거할 수도 있습니다. 이 점 꼭 기억하시기 바랍니다. 




 



ActivityCompat.shouldShowRequestPermissionRationale() 메서드도 기억해 두시기 바랍니다. 이 메서드는 사용자가 이전에 권한 요청을 거부한 경우에 ‘true’ 값을 반환합니다. 이 경우, 권한 요청을 위한 대화창에는 다음과 같이 '다시 묻지 않기' 체크박스가 함께 표시됩니다.








사용자가 이를 선택하면, 이 후에 앱이 requestPermissions 메서드를 호출하더라도, 권한 요청 대화창이 표시되지 않으며, 바로 사용자가 해당 권한을 거부 할 때와 동일하게 콜백 함수가 호출 됩니다. 따라서, 이 메서드가 'true' 값을 반환하면, 여러분의 앱이 해당 권한을 요구하는 이유와 왜 그 권한이 필요한지 사용자에게 조금 더 자세한 설명을 할 필요가 있습니다.



'옛날' 카테고리의 다른 글

[Android] Webview 메소드  (0) 2016.01.13
java 대문자 < - > 소문자 변환하기  (0) 2016.01.12
window7 정품인증  (2) 2016.01.11
[신의탑] 2부 184화  (0) 2016.01.11
[후레자식] 76화  (0) 2016.01.11