마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

권한요청 팝업 유지방법

0 추천
기존 앱 taget sdk가 32여서 안드로이드13기기에서
알림권한을 따로 권한요청없어도 스플래시에서 권한요청팝업을 띄우는데요
스플래시가 끝나고 다음화면이 끝나도 요청팝업이 유지가 됩니다

targetsdk 33으로 올리고 알림 퍼미션 요청시 스플래시화면에
띄워봤는데, 스플래시가 끝나면 같이 닫기고 있습니다만 이걸 저 위의 상황처럼 유지시킬 방법이 없을까요?
수원통학러 (3,570 포인트) 님이 2023년 5월 3일 질문

1개의 답변

0 추천
안드로이드 13의 퍼미션 다이얼로그는 액티비티 내에서 호출하므로,  액티비티가 종료가 되면 같이 사라집니다.

퍼미션 다이얼로그가 시스템에서 관리하는 것이기 때문에  이걸 강제로 살아있게 하기는 어려워 보입니다.

먼저 안드로드이드 개발자 가이드에서 추천하는 방법대로 사용자화면을 설계할 수 있는지 확인해 보세요.

https://developer.android.com/develop/ui/views/notifications/notification-permission

해당 가이드를 보면, 퍼미션이 없을 경우, 다이얼로그를 바로 띄우지 않고 사용자에게 퍼미션에 대해 설명하는 별도의 화면에 존재하고 여기에서 버튼을 눌러 퍼미션을 요청하는 형태입니다. 이렇게 디자인 한다면 스플래쉬 액티비티와 상관없이 퍼미션을 핸들링할 수 있을 겁니다.

아니면, 띄우는 시점을 스플래시 스크린에 하지 마시고, 해당기능을 사용하기 직전에 하거나, 아니면 메인화면이 로딩되고 나서 하시면 어떨까 싶네요.

안드로이드 12부터는 스플래시 스크린이 기본으로 설정이 됩니다. 스플래시 스크린에서는 퍼미션 요청과 같은 작업은 피하는게 좋다고 봅니다.
spark (227,830 포인트) 님이 2023년 5월 3일 답변
...