2017-05-13 8 views
-1

나는 활동과 서비스가 있습니다. 서비스 및 활동에서 카운트 다운 타이머를 시작하고 싶습니다.서비스를 시작한 활동에서 서비스의 메소드를 호출하고 다시 열려면 어떻게해야합니까?

활동을 닫으면 서비스의 타이머가 계속 백그라운드로 진행됩니다.

활동을 다시 열면 서비스 타이머에서 남은 시간을 가져오고 같은 시간이 지난 활동에서 새 타이머를 시작합니다. 이것을 어떻게 할 수 있습니까?

+0

서비스와 활동 간의 통신을 위해 Eventbus를 사용할 수 있습니다. https://github.com/greenrobot/EventBus – Saurabh

+0

시도한 것을 보여주는 몇 가지 코드를 게시하고 어떤 오류나 문제점을 설명하십시오. 사람들이 당신에게 좋은 품질의 답을 줄 수는 없습니다. –

답변

0

구현이 잘못되었습니다. 앱을 다시 시작할 때 타이머를 실행하여 남은 시간을 표시하는 서비스를 실행하고 있습니까?

대신 다음 작업을 수행 할 수 있습니다. 지금 5 분 타이머 을 시작하는 경우는 타이머를 시작할 때

, 다음, 당신은 시간이 타이머가 종료 한 후 SharedPreference이 긴 변수를 저장해야합니다 녹음, 즉, current system time in millisecondsadd 5*60*1000을 .

다음에 앱을 시작할 때 의 종료 시간은에서 SharedPreference으로 변경하고 현재 시간에서 다시 뺍니다. 이것은 남은 시간을 밀리 초 단위로 알려줍니다.

서비스 없음, 백그라운드 스레드 없음, 추가 실행 코드 없음, 타이머 시작 부분의 공유 환경 설정만으로 레코드가 유지됩니다.