안드로이드 6.0 마시멜로우 permission checker

Post on 15-Apr-2017

1.119 Views

Category:

Technology

10 Downloads

Preview:

Click to see full reader

TRANSCRIPT

안드로이드 6.0 마시멜로우 Permission Checker

이승민 드라마앤컴퍼니

min@dramancompany.com

안드로이드 6.0

1. Doze Mode

2. App Standby Mode

3. 권한모델

4. 그외 여러가지…

안드로이드 6.0

1. Doze Mode

2. App Standby Mode

3. 권한모델

4. 그외 여러가지…

6.0 이전에 권한받기

Play Store에서 사용자가 다 허용하고 온다

6.0 이후에 권한받기

앱 사용 중간에 받아야 한다

어떻게 권한을 받지?

ContextCompat.checkSelfPermission()

ActivityCompat.shouldShowRequestPermissionRationale()

ActivityCompat.requestPermissions()

1. 권한 체크

onRequestPermissionsResult()

2. 권한요청 이유 설명

3. 권한 요청

4. 권한 받아서 작업

문제점

한번 이상 ‘DENY’를 누르면 나온다.

이거 체크당하면 다시는 이 다이알로그를 볼 수 없다.

가이드로는 해결 불능

ActivityCompat.shouldShowRequestPermissionRationale()

하지만 다시보지 않기를 체크당하면 false를 반환한다. (다시보지 않기를 클릭당하면 모든 것이 false이다!)

한번 이상 ‘DENY’를 누르면 true를 반환한다.

내가 하고싶은 것

사용자가 다시보지 않기를 체크해도 권한을 허용하도록 안내하고 싶다

자체적으로 해결하자

2. 그냥 거절인지, 다시보지 않기를 체크당했는지 구분할 수 없다.

-> false를 받는다면 무조건 안내 다이알로그를 띄어주자.

1. 앱 내에서 권한을 허용받는 다이알로그는 띄울 수 없다. 설정창에서 명시적으로 받는 방법밖에 없다.

-> 자체 다이알로그로 권한을 안내 후 설정창으로 보내드리자.

코드

권한을 받았으면 Do Something

false값을 받았으면 자체 권한안내 다이알로그를 띄운다. 다시보지 않기를 체크당해도 띄어줄 수 있다.

결과

친절한 안내. 권한을 허용하고 싶어진다. 설정을 누르면 더 친절하게 리멤버 설정창으로 워프.

워프는 이렇게

그외 안드로이드 6.0 대응기

developer.dramancompany.com

시작한지 얼마 안되서 글이 몇개 없지만 앞으로 리멤버의 개발 이야기를 꾸준히 올릴 예정입니다.

자세한 권한모델 대응, system_window_alert 권한, 도즈모드, 넥서스5x 카메라 거꾸로… 등

dramancompany.com/joinus/다음주 쯤에 여기로 정식공지 나갈거에요

(아직 최신화가 안되었어요)

서버 개발자 (API)

데이터 관리/분석가

안드로이드 개발자

OCR R&D

top related