안드로이드 개발 질문/답변
(글 수 45,052)
그런데 타이머 period를 동적으로 지정해 주고 싶습니다.
하지만 아래 코드에서 실행되는 서비스를 보니
동적으로 바뀐 period타임이 적용되지 않는거 같습니다.
구현 코드는 다음과 같습니다.
================================================
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
long period = Long.parseLong(timeDelay)*1000;
updateTimer = new Timer("ordersUpdates");
updateTimer.scheduleAtFixedRate( new TimerTask() {
@Override
public void run() {
refreshCount();
}
}, 0, period);
return Service.START_STICKY;
}
================================================
어떻게 period를 줘야 동적으로 바뀐 시간이 적용되어 서비스가 정해진 시간간격으로 수행될까요??
2010.11.05 10:25:19
알람으로 해결했습니다. 수정된 코드는 다음과 같습니다. 감사합니다.
long period = Long.parseLong(timeDelay)*1000;
Log.d(LOG_TAG, "delay"+period);
int alarmType = AlarmManager.ELAPSED_REALTIME; long timeToRefresh = SystemClock.elapsedRealtime() +period; alarms.setRepeating(alarmType, timeToRefresh, period, alarmIntent);