개발자

Flutter 백그라운드 상태일 때 위치정보 가져오기(앱 사용중 허용)

2024년 09월 23일조회 154

안녕하세요 현재 Flutter로 앱 개발중에 있습니다. 현재 개발중에 있는 기능 중 하나가 사용자에게 앱 사용중에만 허용 권한을 받고 사용자가 백그라운드로 앱을 보냈을 때 해당 사용자의 위치 정보를 수집해야 하는 상황입니다 위치 정보 항상 허용일때는 잘 되지만 앱 사용중일 때만 허용으로 권한을 설정하면 위치 정보가 가져와지지 않네요 다른 앱에서는 해당 기능을 구현하였는데 도저히 감이 오지 않습니다 힌트를 주시면 정말 감사하겠습니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

문정동개발자님의 프로필 사진

안녕하세요 저도 동일한 기능을 개발한 적이 있는데요, 제가 개발했던 당시 기억으로는 백그라운드에서 위치를 수집하려면 항상 허용을 해야하는것으로 기억합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 09월 23일

Flutter에서 백그라운드 상태에서의 위치 정보 추적 기능은 기본적으로 제공하지 않습니다. 하지만, 이를 가능하게 하는 몇몇 패키지들이 있습니다. 'background_location' 또는 'flutter_background_geolocation' 같은 패키지들을 참고하면 좋을 것 같습니다. 주로 이런 패키지들은 Foreground service를 생성해서 백그라운드에서도 GPS 데이터를 받아오는 방식을 사용합니다. 제공된 패키지에 따라 약간씩 다르겠지만, 대략 아래와 같이 위치 정보 실시간 업데이트와 Foreground service 시작을 위한 코드가 필요한 경우가 많습니다. ```dart import 'package:background_location/background_location.dart'; void startTracking() { BackgroundLocation.setAndroidNotification( title: 'Background service is running', message: 'Location is being tracked', icon: '@mipmap/ic_launcher', ); BackgroundLocation.setAndroidConfiguration(1000); BackgroundLocation.startLocationService(); BackgroundLocation.getLocationUpdates((location) { print(location); //현재 위치 정보 출력 }); } ``` 위처럼 구현할 시, 앱이 백그라운드 상태일 때도 사용자의 현재 위치 정보를 계속해서 가져올 수 있습니다. 반드시 사용자에게 권한 허용 요청을 할 때 정확히 설명해야 합니다. 자세한 내용은 각각의 패키지 문서를 참조하십시오.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!