2011-05-04 2 views
6

내 스톱워치 스크립트가 Android의 백그라운드에서 완벽하게 실행되지만 (시간을 세기) iOS 4.3.2는 스크립트를 일시 중지 한 것처럼 보입니다. iOS에서는 스톱워치가 애플리케이션이 백그라운드로 전송 된 시점에 중지됩니다.iPhone에서 Phonegap에서 백그라운드 JavaScript를 실행하는 방법 - 타이머/스톱워치 용?

runnning 스톱워치 (보기에 시간이 초 단위로 업데이트 됨)와 정의 된 특정 시점의 일부 알람 메시지가 필요합니다.

스톱워치에 대한 코드는 다음과 같습니다 : 나는 기본 솔루션 알고 있어요,하지만 크로스 플랫폼 호환성을 위해서 자바 스크립트 솔루션을 고수하려는

 this.timer = window.setInterval(function(){ 
      instance.runtime += Stopwatch.INCREMENT; 
      instance.doDisplay(); 
     }, Stopwatch.INCREMENT); 

.

+0

안녕하세요. 앱이 백그라운드에서 실행되고 있는지 검색해 온 모든 곳에서 검색했습니다. 나에게 추천 해 줄 수 있니? – xdumaine

+0

Android에서 정확하게 작동합니까? 매 5 초마다 실행되는 코드를 만들었습니다. 백그라운드에서 작동하지만 5 초 간격으로 작동하지 않습니다. CPU가 잠자기 상태이기 때문에 생각합니다. 정확 했습니까? 어떻게? –

답변

6

setIntervals는 백그라운드에서 작동하지 않으므로 대신 재귀 setTimeout을 사용합니다.
+ =를 사용하여 시간을 추적 할 수 없으므로 (새 날짜) .getTime(); 또는 Date.now()를 사용하십시오.

this.timer = function myTimer() { 
    instance.currentTime = (new Date).getTime(); 
    instance.doDisplay(); 
    setTimeout(myTimer, Stopwatch.INCREMENT); 
} 

응용 프로그램이 다시 시작이 간단해야한다 않을 때의 setTimeout가 다시 살아 오지 않는 경우

.

+0

좋은 생각이지만, 앱이 포 그라운드로 되돌아 오는 시점을 어떻게 알 수 있습니까? 그래서 자동으로 다시 시작될 수 있습니까? – carillonator

관련 문제