2011-03-21 2 views
0

필자가 작성한 앱은 GPS 위치 관리자 서비스 requestLocationUpdates()를 사용하지만 프로그램 전체에서 최소 시간 및 최소 거리 매개 변수를 변경할 수 있기를 바랍니다. 생성시 위치 수신기를 초기화하지만 이러한 매개 변수를 변경하는 방법을 알아낼 수 없거나이를 수행 할 수 있는지 알아낼 수도 없습니다. 이것의 주요 목적은 프로그램이 정기적 인 위치 업데이트를 필요로하지 않을 때 배터리 수명을 보존하는 것입니다. 도와 줘서 고마워! 불행하게도GPS LocationListener의 minTime을 동적으로 변경하십시오.

if (locationManager != null && locationListener != null) { 
    locationManager.removeUpdates(locationListener); 
} 

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, refreshInterval, 50, locationListener); 

답변

4

나는 때때로 LocationListener 제거하고 나중에 다른 새로 고침 간격으로 다시 추가,이 정확한지 확인하지만, 동일한 문제에 직면하지 않다 requestLocationUpdates() 메서드는 removeUpdates()가 호출 될 때까지 gps를 유지합니다. 결국에는 타이머를 사용하여 위치를 요청하고 매분 (배터리를 절약하기 위해) UpdateUpdates()를 즉시 제거합니다.

+1

감사합니다. 이 훌륭한 작품과 지금 내 애플 리케이션 에서이 방법을 사용하고 있습니다. 죄송합니다. 답장하는 데 너무 오래 걸렸습니다. 그 순간의 흥분 속에 나는 당신을 잊어 버린 것을 잊어 버렸을 것입니다. – GPSmaster