좌표와 함께 10 초마다 원격 서버에 데이터를 보내려고합니다. 나는 가장 일치가 나는 다음과 같은 코드가 청취자의locationListener는 한 번만 호출됩니다.
public void onCreate(Bundle savedInstanceState) {
//snip
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, new SendingLocationListener());
}
될 것이라고 생각 : 그것은 doInBackground()
방법의에
public void onLocationChanged(Location location) {
if(null == location) return;
TrackerNotifierTask task = new TrackerNotifierTask();
task.execute(location);
}
TrackerNotifierTask
가 httpclient
을 사용하기 때문에 꽤 간단합니다.
이제 작업을 시작하면 onLocationChanged()
이 실행되고 데이터가 원격 서버에 성공적으로 도달한다는 것을 알 수 있습니다. 그러나 단 한 번! 나중에 내가 뭘 할지라도 코디 등을 바꾸어도 과제는 불리지 않는다.
안드로이드에서 이와 같은 것을 구현하는 올바른 방법인가 아니면 background-service
에 의지해야할까요?
이 문제를 해결 하는가, 같은데? – Shrikant
좋아, 익명의 내부 클래스로 트릭이 작동했습니다, 리스너는 각 GPS (mock) 업데이트를 호출합니다. 반면에, minTime은 무시되는 것 같습니다. 어떻게 든 강제 할 수 있습니까? – injecteer
문제가 해결되면 http://stackoverflow.com/questions/6442093/how-do-i-decide-what-interval-to-use-for-requestlocationupdates를 참조하십시오. – Shrikant