2011-03-18 2 views
2

그래서 Android 앱을 작성하고 있으며 매분마다 위치 데이터를 요청하는 기능을 원합니다 (아직 얼마나 자주 결정하지 않았는지). 스레드를 만들어서 잠자기 상태로 말할 수 있다는 것을 알고 있지만 그 기능을위한 스레드를 생성 한 다음 잠글 수 있기 때문에 아무 것도 사용할 수 없으므로이 옵션을 정말 좋아하지 않습니다. 그 한 스레드. 내가 생각한 또 다른 옵션은 시간이 지 났는지 여부를 확인하는 무한 루프가 있지만 더 심각한 문제를 제기하는 것입니다.루프를 다시 실행하기 전에 5 분 기다림

내 질문은 루프를 다시 실행하기 전에 지정된 시간 동안 기다리는 것이 더 좋은 방법일까요?

답변

6

사용 handler :

final Handler handler = new Handler(); 
final long delay = 5 * 60 * 1000; 

void executeSomething(){ 
    handler.postDelayed(new Runnable(){ 
     public void run(){ 
      // do your work 

      if (continueToExecute){ 
       executeSoemthing(); 
      } 
     } 
    }, delay); 
} 
+0

감사합니다. 정확히 제가 찾고있는 것이 었습니다. – Brandon

2

postDelayed(Runnable,long)을 사용하면이 작업을 수행 할 수 있습니다.

3

은 정말, 귀하의 질문에 대답합니다. 그러나 안드로이드 플랫폼은 이러한 종류의 것들을 지원하도록 설계되었습니다. 서비스 Android API page 및 타이머 Android API page에 대한 약간의 연구를 수행하십시오.

관련 문제