안드로이드 권한 체크 PERMISSION CHECK
안드로이드 권한 체크, 퍼미션 체크 하기
안녕하세요 블랙디입니다.
안드로이드 권한은 다양한 기기의 기능을 사용하기위해 꼭 필요한 것입니다.
자! 그럼 시작하겠습니다.
권한 permission 의 종류
시스템 권한은 정상 권한과 위험 권한 두가지로 분류됩니다.
정상권한
정상 권한은 앱을 사용하는 유저들의 개인정보를 위험에 빠뜨리지 않는 권한을 총칭합니다. Manifest에 정상 권한을 선언하면 시스템은 자동으로 권한을 부여하게 됩니다. 자동으로 권한을 부여한다는 것은 앱 실행 시 권한 승인 여부를 묻지 않고 바로 권한을 활용할 수 있다는 것으로 해석하시면 되겠습니다.
위험권한
위험 권한은 사용자의 기밀한 데이터에 대한 접근을 부여할 수 있습니다. 정상권한과 마찬가지로 Manifest에 위험권한을 선언한다면 앱을 사용하는 사용자에게 명시적인 권한 승인 여부를 확인받아야 합니다. 알겠습니까 여러분? (굳이 대답은 안하셔도...)
위험 권한 속성들
그렇다면.. 도대체 무엇이 위험권한 이란 말인가? 위험권한을 보시겠습니다.
위에서부터 달력, 카메라, 연락처, 위치, 마이크, 폰상태, 센서, sms, 저장소 등으로 나열되는 것 보이십니까?
그동안 앱설치할 때 많이 본 권한들이죠? 이것들이 위험한 권한들입니다.
이제 마지막으로 위험한 권한을 승인받는 방법을 알려드리겠습니다.
이름하여 권한 체크 또는 퍼미션 체크라고 부릅니다.
권한 체크 요청 방법
1. Manifest에 CALENDAR 권한을 선언한다.
2. 권한을 사용할 곳에 다음과 같이 코딩한다.
// 메니패스트에 권한이 있는지 확인
int permiCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CALENDAR);
//앱권한이 없으면 권한 요청
if(permiCheck == PackageManager.PERMISSION_DENIED){
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_CALENDAR}, 0);
}
//권한 있다면
else{
}
//권한 승인 결과에 따라서 실행될 메서드
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode == 0){
if(grantResults[0] == 0){
Toast.makeText(this, "달력 권한이 승인됨", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "달력 권한 거절", Toast.LENGTH_SHORT).show();
}
}
}
'Android' 카테고리의 다른 글
안드로이드 커스텀 스피너 ( 스피너에 이미지 넣기 ) (0) | 2019.09.28 |
---|---|
스피너 꾸미기 (0) | 2019.09.26 |
runOnUiThread UI 쓰레드 (0) | 2019.09.24 |
안드로이드 스튜디오 단축키 (0) | 2019.09.23 |
사진 디렉토리 생성후 갤러리에 디렉토리가 보이지 않을때. (0) | 2019.06.28 |