일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- nodejs indexof
- 코틀린 listOf
- rest형식으로 workbook 다운
- spring rest api download excel
- nodejs split
- rest api 엑셀다운
- spring boot rest api export excel file
- 캠핑용랜턴
- spring boot rest api download excel
- VSCODE설치
- 캠핑용 led랜턴
- 충전식 랜턴
- nodejs substr
- spring boot rest api return excel file
- vscode 설치
- 오아랜턴
- nodejs length
- 코틀린 스트림 함수
- nodejs string
- visualstudiocode설치
- spring rest api to download excel file
- rest api poi down
- Manifest
- nodejs substring
- 오아올라이트
- nodejs 함수
- ResponseEntity file download
- rest api poi 다운
- javascript string 함수
- node.js string
- Today
- Total
블랙디의 개발새발
[안드로이드] 안드로이드 권한 체크, 퍼미션 체크 하기 본문
안드로이드 권한 체크 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 TIP을 끝냈습니다.
더 알고싶으신 분은 댓글로 남겨주세요
'IT Program > Android Tip' 카테고리의 다른 글
[안드로이드] android edittext next focus (0) | 2018.11.02 |
---|---|
[안드로이드] addTextChangedListener TextWatcher (0) | 2018.11.01 |
[안드로이드] 안드로이드 생명주기 수명주기 (3) | 2018.10.28 |
[안드로이드] Gradle(그래들)과 JCenter란 (0) | 2018.10.25 |
[안드로이드] AndroidManifest(매니페스트)의 뜻과 역할, 첫페이지를 변경해보자 (7) | 2018.10.24 |