2011-09-17 5 views

답변

1

정적 인 변수 time을 유지하십시오. onResume이 호출 될 때마다 활동이 화면에 나타날 때마다 새 타이머를 시작하십시오. 그리고 활동이 화면에서 사라지면 타이머를 일시 중지하십시오. 즉, onPause, onStop, onDestroy이며 경과 된 시간을 time 변수에 추가하십시오.

코파의 답변은 응용 프로그램의 많은 세션을 통해 시간을 계산하는 데 매우 유용합니다. http://developer.android.com/reference/android/app/Activity.html

정보 활동이 된 SharedPreferences 사용하여 저장 될 수있다 살았던 시간 : 이 http://developer.android.com/reference/android/content/SharedPreferences.html

+1

당신의 대답은을 아마도 비트 misguiding – Timo

+0

@Timo Lehto, 나는 기술적 인 세부 사항을 제공하는 것을 의미하지 않았다. 단지 이것을하는 방법에 대한 아이디어였다. 하지만 당신의 의견은 매우 유용하다고 생각합니다)))) – superM

1

는 사용자의 작업에 무슨 일이 생긴 것을 감지하는 활동 lifecircle 콜백 기능을 사용하여 . 이것을 바탕으로 여러분은이 새로운 타이머(). start();와 같은 것을 할 수 있거나 할 수 있다고 생각할 것입니다. Timer 클래스는 TimerTask 객체를 일정 시간 또는 주기적으로 실행하도록 예약하기 때문에 가능하지 않습니다. 그래서 나는 timer에 의해`onResume`에서`this.startedAt = SystemColck.elapsedRealtime();`과`onPause`,`onStop`과`onDestroy`에 다음과 같은 것을 넣어야한다는 것을 의미합니다 : `if (this.startedAt! = null) {static_timer + = SystemColck.elapsedRealtime(); this.startedAt = null; }`
관련 문제