Это работает для меня - используя именно тот код, который вы разместили, я увидел:
checking status
checking status
checking status
cancel
... и ничего больше, показывая, что TimerTask
был отменен - он никогда не выполняется снова.
Вы ожидали, что само Timer
закроется, когда у него больше не будет работы?Это не делает это автоматически.Не ясно, какова ваша большая цель, но один из способов избежать этого - заставить TimerTask
также отменить Timer
- это будет работать, но это не очень приятно с точки зрения дизайна и означает, что TimerTask
не может нормально работать в таймере, который содержит другие задачи.