관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[안드로이드] 안드로이드 11 버전 권한(Permission), 위치(Location) 관련 변경사항 총정리!!! 본문

안드로이드/코틀린 & 아키텍처 & Recent

[안드로이드] 안드로이드 11 버전 권한(Permission), 위치(Location) 관련 변경사항 총정리!!!

막무가내막내 2021. 1. 7. 19:17
728x90

 

[2021-04-05 업데이트]

 

 

[2021.01.07 블로그 포스팅 스터디 여섯 번째 글]

 

안드로이드 11버전에서 여러 업데이트 사항 중 개인정보 보호 기능을 크게 세 파트로 나눴는데

1. 저장공간(Scoped Storage관련)

2. 권한(Permission)

3. 위치(Location)

입니다. 

 

이 중 저번에는 밑 링크와 같이 1번 저장공간에 대해 알아보았는데 이번 포스팅에서는 2번과 3번 사항에 대해 복습 포스팅을 갖는 시간을 가지려고 합니다.

youngest-programming.tistory.com/386

 

[안드로이드] Scoped Storage(범위지정 저장소) 정리 (Legacy Storage와 차이점 정리)

이전에 안드로이드 11에 대해 공부했던 내용 중 안드로이드 10에서 나온 거지만 11에서도 언급된 범위 지정 저장소(Scoped Storage)에 관련 사항들에 대해 정리해보려합니다. ㅎㅎ 그림과 함께 간단하

youngest-programming.tistory.com

 

 

 


 

 

[권한(Permission) 변경사항]

 

먼저 개인정보 보호 기능의 권한(Permission) 업데이트 사항을 요약하면 다음과 같습니다.

 

1. 일회성 권한 추가 (One Time Permission)

 

2. 오랜시간 사용안한 앱은 권한이 자동 재설정됨. 권한을 필요로하는 백그라운드에서 주로 돌아가는 앱은 자동 재설정 되는 것을 막게 사용자에게 요청 필요

 

3. 런타임 퍼미션 요청 준수 사항 잘 지키고 있을시 대응할거 없음

 

 

 

이에 대해 조금 더 자세히 살펴보도록 하겠습니다.

일회성 권한 (Voice, Camera) 요약

1.앱의 액티비티가 표시되는 동안 앱에서 데이터에 액세스할 수 있음
2. 사용자가 앱을 백그라운드로 가져오면 앱에서 짧은 시간 데이터에 계속 액세스할 수 있음
3. 액티비티가 표시되는 동안 포그라운드 서비스가 실행되고 사용자가 앱을 백그라운드로 이동하면 포그라운드 서비스가 중지될 때까지 앱에서 데이터에 계속 액세스할 수 있음
4. 사용자가 일회성 권한을 취소하면(: 시스템 설정에서) 포그라운드 서비스 실행 여부와 상관없이 앱에서 데이터에 액세스할 수 없음. 다른 권한과 마찬가지로 사용자가 앱의 일회성 권한을 취소하면 앱의 프로세스가 종료

위 요약을 풀어서 설명하면 위 사진과 같이 일회성 권한이 생겼습니다.

Android 11에서는 앱이 위치, 마이크 또는 카메라와 관련된 권한을 요청할 때마다 사용자에게 표시되는 권한 대화상자에 참고사진과 같이 이번만 허용이라는 옵션이 포함되고 사용자가 대화상자에서 이 옵션을 선택하면 임시 일회성 권한앱에 부여됩니다.

일회성 권한 수락 시 사용자의 작업에 따라 일정 시간 관련 데이터에 엑세스 할 수 있다는 것인데 권한요청을 거절 하거나 앱을 완전히 종료하는게 아닌 이상 앱이 살아있는 시간 동안은 데이터에 엑세스 할 수 있습니다.

참고로 앱이 런타임 권한을 요청할 때 이미 권장사항을 준수하고 있다면 변경할 사항은 없습니다.

 

 

 

 

 

 

권한이 자동으로 재설정되는것을 막아주는 옵션 창입니다.

사용하지 않는 앱의 권한 자동 재설정 요약

1.몇 달 동안 사용되지 않은 경우 시스템에서는 사용자가 앱에 부여한 민감한 권한을 자동으로 재설정하여 사용자 데이터를 보호
2.사용자를 시스템 설정의 페이지로 안내하려면 Settings.ACTION_APPLICATION_DETAILS_SETTINGS 인텐트 작업이 포함된 인텐트를 호출함. 이 화면에서 사용자는 다음을 실행하여 시스템이 권한을 재설정하는 것을 방지할 수 있음.
3.앱에 자동 재설정 기능이 사용 중지되어 있는지 확인하려면 isAutoRevokeWhitelisted()호출함. 메서드가 true를 반환하면 시스템에서 권한을 자동 재설정하지 않음.

 

권한 자동 재설정 관련 사항 요약을 풀어서 설명하면

앱이 Android 11을 타겟팅하고 몇 달 동안 사용되지 않은 경우 시스템에서는 사용자가 앱에 부여한 민감한 권한을 자동으로 재설정하여 사용자 데이터를 보호하게 된다고 합니다.

권한을 항상 허용시켜야 하는 앱의 경우는 2 내용의 인텐트 작업을 통해 사용자가 권한 재설정하는 것을 방지하게 하여 해결할 수 있습니다.

위 사진은 요약의 2번 글에 해당하는 사진으로 인텐트를 사용해 사용자 권한 설정을 띄워준 화면입니다.

 

 

 


 

[위치(Location) 변경사항]

 

먼저 개인정보 보호 기능의 위치(Location) 업데이트 사항을 요약하면 다음과 같습니다.

 

1.위치 관련 일회성 권한이 생김

 

2.위치 백그라운드 위치 엑세스 권한요청창에서 세팅창에서 하게 변경

 

3.위치, 카메라, 마이크도 manifest foregroundServiceType 선언 필요

 

 

조금 더 자세히 살펴보겠습니다.

 

 

 

일회성 엑세스 옵션이 추가 되었습니다. (Only this time)

앞서 음성(Voice)과 카메라(Camera)의 일회성 권한에서 본 것처럼 안드로이드 11부터 위치 엑세스 권한 요청에도 이번만 허용이라는 옵션이 포함되게 된다고 합니다.

사용자 개인정보 보호를 강화하기 위해 Android 11에서는 일회성 위치 액세스 권한을 추가하고 사용자가 백그라운드 위치 액세스 권한을 부여하는 방식을 변경합니다.

 

 

 

 

 

일회성 엑세스 옵션 추가 (Only this time) 되었는데 그에 해당하는 직접 실행해본 사진입니다.

Fore, Back은 포어그라운드에서만 허용 백그라운드에서도 허용이라는 의미로 적어놨습니다. 

일회성 엑세스 옵션 추가 (Only this time) 를 요약을 하면 다음과 같습니다.

안드로이드 P : 거절 or  허용 (포어그라운드, 백그라운드)
안드로이드 10 (Q) : 사용시만 허용(포어그라운드) 옵션 추가, 항상 허용은(Allow all the time) 포어그라운드, 백그라운드 권한 획득 가능
안드로이드 11 (R) : 항상 허용 사라지고 이번만 허용(포어그라운드) 추가

 

 

 

 

 

안드로이드 11을 중심으로 위치 접근권한 사항을 자세히 살펴보면 다음과 같습니다.

2번은 따라서 안드로이드 11부터는 백그라운드 위치 권한 요청을 위해 사용자를 세팅창으로 이동시켜 줘야합니다.

 

 

 

위 요약 2번에 해당하는 사진도 준비해봤습니다. 백그라운드 권한 허용 요청은 다음과 같이 세팅창으로 직접 사용자를 보내거나 해서 사용자가 직접 안전하게 설정할 수 있도록 해주어야합니다. 

 

 

 

 

다음은 가장 광범위한 권한 허용(항상 허용, allow all the time) 안 누른 경우 앱을 다시 실행했을 때의 권한요청 UI가 더 광범위한 요청 해주라고 달라진 창을 띄운다는 점 직접 실행해본 사진을 추가로 첨부해봤습니다

 

 

 

 

마지막으로

Android 11포그라운드 서비스에서 위치, 카메라 및 마이크와 관련된 데이터에 액세스하는 방법을 변경함으로써 사용자 보호를 강화합니다.

앱이 Android 11을 타겟팅하고 포그라운드 서비스에서 위치, 카메라, 마이크 데이터에 액세스 해야한다면 그림과 같이 매니페스트에 서비스 포어그라운듯서비스타입에 로케이션 카메라 마이크로폰을 선언해주면 됩니다.

 

 

이상 안드로이드 11의 권한(Permission)과 위치(Location) 관련 변경사항들에 대해 요약하는 포스팅을 마치겠습니다.

댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!

 


 

[참고]

developer.android.com/about/versions/11/privacy/permissions

 

Android 11의 권한 업데이트  |  Android 개발자  |  Android Developers

Android 11에서는 사용자가 위치, 마이크, 카메라에 관해 더욱 세분화된 권한을 지정할 수 있습니다. 또한 시스템은 Android 11 이상을 타겟팅하는 사용하지 않는 앱의 권한을 재설정하며 앱은 시스

developer.android.com

 

https://developer.android.com/preview/privacy/location?hl=ko

 

Android 11의 위치 업데이트  |  Android 개발자  |  Android Developers

사용자 개인정보 보호를 강화하기 위해 Android 11에서는 일회성 위치 액세스 권한을 추가하고 사용자가 백그라운드 위치 액세스 권한을 부여하는 방식을 변경합니다. 이러한 업데이트는 Android 1

developer.android.com

 

 

 

728x90
Comments