Я сейчас занимаюсь разработкой своего первого приложения для Android.Я хочу, чтобы пользователь моего приложения мог активировать «автоматическое обновление данных», что означает, что некоторые данные должны обновляться каждые x минут.Я создал службу, которая запускается
service = new Intent(context, MyService.class);
context.startService(service);
, и я использую TimerTask внутри службы для периодического обновления данных.
timer = new Timer();
TimerTask tt = new TimerTask() {
public void run() {
refreshData();
}
};
timer.scheduleAtFixedRate(tt,0,interval);
Я заметил, чтослужба может быть перезапущена время от времени.Как я могу убедиться, что refreshData ();выполняется каждый интервал минуты (не более или менее)?Если пользователь меняет интервал (предпочтение), как убить текущий таймер (задание) и запустить новый?Прямо сейчас кажется, что он запускает новый, но не убивает старый, делающий refreshData () для выполнения в два интервала.
Любая помощь приветствуется!