2013-07-18 2 views
2

LocationManager.requestLocationUpdates 등록을 통해 위치 정보를받는 서비스가 있습니다. 그러나 일부 휴대 전화에는 몇 가지 문제가 있습니다.활동이없는 Google지도 위치 사용

배터리가 부족하면 네트워크 위치 제공 업체에서 위치 픽스 전송을 중지합니다 (이 문제는 this SO question에 있음). 그것은 내 앱의 유일한 문제는 아니지만 다른 앱도 위치 수신을 중단합니다. 전화가 재충전되는 경우에도 문제가 계속 재발행 될 때까지 계속됩니다.

그러나 Google지도가 위치 업데이트를 계속 수신한다는 사실을 알았습니다 (위의 질문에서 언급 했음). Google지도 앱을 열면 올바른 위치와 업데이트가 표시됩니다.

그래서 Google Maps API에서 위치 정보를 사용하는 방법을 생각해 봤습니다. 나는 Maps API에 대한 경험이 전혀 없지만, 적절한 GUI (Activity) 애플리케이션이 필요하다고 생각합니다. 아니면 내가 틀렸어? 서비스 내에서도 Google Maps API를 사용하여 위치를 수신 할 수 있습니까?

+0

저전력 상태에서 작동하지 않는 LocationManager와 관련하여 새로운 퓨즈 위치 공급자를 사용해 보셨습니까? (빠른 [guide] (https://developer.android.com/training/location/retrieve-current.html) 설정 참조). PlayManager FusedLocationProvider는 네트워크와 GPS의 조합을 사용하여 가장 가까운 필수 수정을 가져오고 전원 등을 고려하면서 LocationManager로만 전원 기준을 설정해야합니다. –

+0

고마워, 나는 그것을 살펴볼 것이다 ... 나는 구글 맵스가 LocationManager보다는 오히려 이런 것을 사용하는지 궁금하다. – NumberFour

+0

마침내 이것을 테스트 할 시간을 찾았다. 그리고 예, 저전력 환경에서도 뛰어난 성능을 발휘합니다. 나는 이것이 나의 문제를 해결했다고 생각한다. 이것을 받아 들일 수 있도록 대답으로 써 주시길 바랍니다. 이 힌트를 주셔서 감사합니다. – NumberFour

답변

3

믿을만한 출처의 광범위한 테스트를 감안할 때 Google Play 서비스와 함께 제공되는 FusedLocationProvider를 사용하는 것이 좋습니다. 그것은 적절한 권력 기준을 선택하는 것에서 두통을 벗어나는 것처럼 보입니다.

사용자가 Google Play를 기기에 설치해야하므로 키들 등이 사진에서 벗어날 수 있습니다. 또한 Android 2.2 이상이 필요합니다.

Google Play 서비스에서 제공하는 위치 서비스에 대한 추가 정보는 here입니다.