개발자
안녕하세요 현재 Flutter로 앱 개발중에 있습니다. 현재 개발중에 있는 기능 중 하나가 사용자에게 앱 사용중에만 허용 권한을 받고 사용자가 백그라운드로 앱을 보냈을 때 해당 사용자의 위치 정보를 수집해야 하는 상황입니다 위치 정보 항상 허용일때는 잘 되지만 앱 사용중일 때만 허용으로 권한을 설정하면 위치 정보가 가져와지지 않네요 다른 앱에서는 해당 기능을 구현하였는데 도저히 감이 오지 않습니다 힌트를 주시면 정말 감사하겠습니다!
커리어리 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); //현재 위치 정보 출력 }); } ``` 위처럼 구현할 시, 앱이 백그라운드 상태일 때도 사용자의 현재 위치 정보를 계속해서 가져올 수 있습니다. 반드시 사용자에게 권한 허용 요청을 할 때 정확히 설명해야 합니다. 자세한 내용은 각각의 패키지 문서를 참조하십시오.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!