2012-01-29 4 views
3

사용자가 사용하는 위치가 매우 오래되고 때로는 아주 멀리있는 경우 사용자가 gps를 사용하고 때로는 onResume에서 앱을 다시 시작할 때도 있습니다. 위치 관리자에서 시간을 0으로 설정해도 업데이트되지 않습니다. 필자는 거친 소리와 미세한 소리를 사용하여 새 청취자를 추가하고 하나에서 다른 것으로 전환하려고 시도했지만 여전히 불안정합니다. onResume 메서드에서 새로운 위치 업데이트를 강제하는 가장 신뢰할 수있는 방법을 알려줄 수 있습니까? 더 이상 lastLocationKnown에 의지하고 싶지 않습니다. 지금 제 문제입니다.안드로이드 - onResume()의 새 위치를 얻는 가장 좋은 방법

편집 : 어쩌면 무엇을 물어 봐야할까요? 나는 어디에서 정식으로 업데이트되는 위치를 얻을 수 있습니까? 나에게 문제가되는 lastKnown으로서의 위치 만 설정할 수있는 것 같습니다.

답변

1

나는 유사한 문제가있어서 onProviderEnabled()이 즉시 onResume()으로 불리지 않는다는 것을 깨달았다. 나는 onPause()에서 청취자를 등록 취소하지 않고 대신 onDestroy()에 등록 취소했다. 다음 http://developer.android.com/reference/android/location/LocationListener.html

내 원래 스택 오버플로 질문에 대한 링크입니다 :이 도움이
Why isn't Android's onProviderEnabled() method being called?

희망 여기에

는 관련 문서에 대한 링크입니다. Mel

+0

안녕하세요, 도움에 감사드립니다. 나는 onPause 메서드에서 등록되지 않은 청취자를 설정하여 동일한 작업을 계속 시도했으며 내 머리를 꺼내고있었습니다. 다시 시작할 때 내 로그 고양이에서 볼 수 있었기 때문입니다. onResume에서 시작되지만 결코 새로운 위치를 반환하지 않습니다. 나는 모든 것을 초기화하기 위해 onCreate 메소드를 호출하는 방법을 알아낼 것이라고 생각하기 시작했습니다. 악의적 인 것들을 이동하고 onDestroy의 모든 것을 등록 해제하고 작동 시키면 다시 게시하십시오. –

+0

약간의 추가 청소를해야했다. 위치가 너무 오래되어서 새 거친 위치를 사용하고 정확도가 높아짐에 따라 다른 위치로 전환하는 경우, 등록 해제 방법을 구현했는지 확인해야했다. 내 메인 클래스에서 ondestroy에서 지금은 업데이 트를해야 할 것 같은데 .... 여분의 도움을 주셔서 감사합니다 :) –

관련 문제