• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

LocationPermission.denied관련 질문입니다

23.03.03 01:29 작성 조회수 407

0

LocationPermission checkedPermission = await Geolocator.checkPermission();

if (checkedPermission == LocationPermission.denied) {

checkedPermission = await Geolocator.requestPermission();

if (checkedPermission == LocationPermission.denied) {

return '위치권한을 허가해주세요.';

}}

권한요청 다이얼로그에서 한번허용을 누르고 앱을 종료시킨다음 재실행했을때 LocationPermission.denied가 되어 리퀘스트퍼미션이 다시 실행되는것같습니다.(위 코드 첫줄부터 실행)

그런데 리퀘스트퍼미션을 했는데도 다시 denied가되어

if (checkedPermission == LocationPermission.denied) {

return '위치권한을 허가해주세요.';

}

해당 if문이 실행되는경우는 어떤게있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요!

requestPermission()을 실행하는건 권한을 요청하는 역할만합니다.

만약에 사용자가 권한을 거절한다면 역시 LocationPermission.denied 상태가 됩니다.

즉 requestPermission()을 실행하는 것 자체는 권한 상태와 직접적인 연관이 없습니다.

앱을 삭제하고 다시 설치하거나, 권한요청을 응답하지 않거나 여러 예외적인 상황에 권한요청이 다시 될 수 있으며 한번도 권한 요청에대한 응답을 하지 않은경우 역시 denied 상태가 될 수 있습니다.

감사합니다!