2014-11-11 2 views
1

사용자가 앱에서 타이머를 시작하길 원합니다. 분 간격으로 알림을 보냅니다. 이 기간 동안 사용자는 다른 활동으로 전환하거나 앱을 홈 화면에 남겨 두거나 다른 앱으로 이동할 수 있어야합니다. 응용 프로그램이 종료 되더라도 사용자가 타이머를 명시 적으로 중지 할 때까지 타이머가 알림을 계속 제공하는 것이 좋습니다. 앱을 다시 열면 앱을 중지 할 수 있어야합니다. 내가 알 수있는 것부터, AlarmManager와 함께해야 할 것 같은데? 이 생각이 맞다면, 나의 예제에 잘 어울리는 훌륭한 튜토리얼을 가진 사람이 있을까요? 고맙습니다!Android : 앱이 종료 된 경우에도 명시 적으로 중지 될 때까지 실행되는 타이머입니다. 사용자가 타이머를 시작/중지합니다.

편집 : 처음에는 언급하지 않았지만 주요 활동에 타이머 표시가 있어야하므로 일종의 UI 상호 작용이 필요합니다. 사용자가 갈 수있는 다른 활동이 있지만 기본 활동 타이머는 계속 실행되어야합니다.

+0

당신이 할 수있는 도움이되기를 바랍니다 좋은 튜토리얼을 가지고) 알람 스케줄러를 사용할 수있는 대상으로하는 경우, 포 그라운드 서비스에서 ACTION_TIME_TICK에 대한 수신자를 등록하는 것과 같은 작업을 수행 할 수도 있습니다. 매니저가 필요없는 미세한 진드기에 대한 서비스 신호를 받게됩니다. – zgc7009

답변

0

얼마나 자주 이벤트를 촬영하는지에 따라 달라집니다. 이것은 다음과 같이 해결할 수 있습니다 :

1) 서비스를 생성하고 백그라운드에서 실행하도록합니다. Google은 여기 좋은 자습서를 http://developer.android.com/guide/components/services.html 있습니다. 당신이 찾고있는 서비스가 아닌 IntentService입니다. 이 접근법은 많은 자원을 소비합니다.

2) 알람 매니저를 사용 (또는 u 안드로이드 L 당신이

alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
    AlarmManager.INTERVAL_HALF_HOUR, 
    AlarmManager.INTERVAL_HALF_HOUR, alarmIntent); 

다시 구글 https://developer.android.com/training/scheduling/alarms.html

그것이

+0

요구 사항을 추가해야했습니다. 지금까지 서비스에 관해 읽는 것에서는 아직 확신이 없습니다. 바운드 서비스는 유망한 것으로 보였으므로 매 초마다 응답을 받아 주전원 타이머를 업데이트 할 수 있습니다. 그러나 그것이 초기에 주 활동에 묶여 있다면, 그 봉사는 파괴되지 않을까? – sharknado

+0

백그라운드에서 실행중인 서비스는 활동이 종료 될 때 파괴되지 않습니다. 서비스를 계속 바인드 해제하면 u가 http://developer.android.com/guide/components/bound-services.html#Lifecycle을 볼 수 있습니다. 또한 CountDownTimer를 사용하는 것에 대해 생각 했습니까? http://developer.android.com/reference/android/os/CountDownTimer.html – jirkarrrr

관련 문제