Stay organized with collections
Save and categorize content based on your preferences.
TimerTask
abstract class TimerTask : Runnable
A task that can be scheduled for one-time or repeated execution by a Timer
.
A timer task is not reusable. Once a task has been scheduled for execution on a Timer
or cancelled, subsequent attempts to schedule it for execution will throw IllegalStateException
.
Summary
Protected constructors |
Creates a new timer task.
|
Public methods |
open Boolean |
Cancels this timer task.
|
abstract Unit |
The action to be performed by this timer task.
|
open Long |
Returns the scheduled execution time of the most recent actual execution of this task.
|
Protected constructors
TimerTask
protected TimerTask()
Creates a new timer task.
Public methods
cancel
open fun cancel(): Boolean
Cancels this timer task. If the task has been scheduled for one-time execution and has not yet run, or has not yet been scheduled, it will never run. If the task has been scheduled for repeated execution, it will never run again. (If the task is running when this call occurs, the task will run to completion, but will never run again.)
Note that calling this method from within the run
method of a repeating timer task absolutely guarantees that the timer task will not run again.
This method may be called repeatedly; the second and subsequent calls have no effect.
Return |
Boolean |
true if this task is scheduled for one-time execution and has not yet run, or this task is scheduled for repeated execution. Returns false if the task was scheduled for one-time execution and has already run, or if the task was never scheduled, or if the task was already cancelled. (Loosely speaking, this method returns true if it prevents one or more scheduled executions from taking place.) |
run
abstract fun run(): Unit
The action to be performed by this timer task.
scheduledExecutionTime
open fun scheduledExecutionTime(): Long
Returns the scheduled execution time of the most recent actual execution of this task. (If this method is invoked while task execution is in progress, the return value is the scheduled execution time of the ongoing task execution.)
This method is typically invoked from within a task's run method, to determine whether the current execution of the task is sufficiently timely to warrant performing the scheduled activity:
<code>public void run() {
if (System.currentTimeMillis() - scheduledExecutionTime() >=
MAX_TARDINESS)
return; // Too late; skip this execution.
// Perform the task
}
</code>
This method is typically
not used in conjunction with
fixed-delay execution repeating tasks, as their scheduled execution times are allowed to drift over time, and so are not terribly significant.
Return |
Long |
the time at which the most recent execution of this task was scheduled to occur, in the format returned by Date.getTime(). The return value is undefined if the task has yet to commence its first execution. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# TimerTask\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nTimerTask\n=========\n\n```\nabstract class TimerTask : Runnable\n```\n\n|---|--------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||\n| ↳ | [java.util.TimerTask](#) |\n\nA task that can be scheduled for one-time or repeated execution by a [Timer](/reference/kotlin/java/util/Timer).\n\nA timer task is *not* reusable. Once a task has been scheduled for execution on a `Timer` or cancelled, subsequent attempts to schedule it for execution will throw `IllegalStateException`.\n\nSummary\n-------\n\n| Protected constructors ||\n|---------------------------------------------------------|---|\n| [TimerTask](#TimerTask())`()` Creates a new timer task. |\n\n| Public methods ||\n|-----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| open [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [cancel](#cancel())`()` Cancels this timer task. |\n| abstract [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [run](#run())`()` The action to be performed by this timer task. |\n| open [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | [scheduledExecutionTime](#scheduledExecutionTime())`()` Returns the *scheduled* execution time of the most recent *actual* execution of this task. |\n\nProtected constructors\n----------------------\n\n### TimerTask\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nprotected TimerTask()\n```\n\nCreates a new timer task.\n\nPublic methods\n--------------\n\n### cancel\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun cancel(): Boolean\n```\n\nCancels this timer task. If the task has been scheduled for one-time execution and has not yet run, or has not yet been scheduled, it will never run. If the task has been scheduled for repeated execution, it will never run again. (If the task is running when this call occurs, the task will run to completion, but will never run again.)\n\nNote that calling this method from within the `run` method of a repeating timer task absolutely guarantees that the timer task will not run again.\n\nThis method may be called repeatedly; the second and subsequent calls have no effect.\n\n| Return ||\n|------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | true if this task is scheduled for one-time execution and has not yet run, or this task is scheduled for repeated execution. Returns false if the task was scheduled for one-time execution and has already run, or if the task was never scheduled, or if the task was already cancelled. (Loosely speaking, this method returns `true` if it prevents one or more scheduled executions from taking place.) |\n\n### run\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun run(): Unit\n```\n\nThe action to be performed by this timer task. \n\n### scheduledExecutionTime\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun scheduledExecutionTime(): Long\n```\n\nReturns the *scheduled* execution time of the most recent *actual* execution of this task. (If this method is invoked while task execution is in progress, the return value is the scheduled execution time of the ongoing task execution.)\n\nThis method is typically invoked from within a task's run method, to determine whether the current execution of the task is sufficiently timely to warrant performing the scheduled activity: \n\n```kotlin\n\u003ccode\u003epublic void run() {\n if (System.currentTimeMillis() - scheduledExecutionTime() >=\n MAX_TARDINESS)\n return; // Too late; skip this execution.\n // Perform the task\n }\n \u003c/code\u003e\n```\nThis method is typically *not* used in conjunction with *fixed-delay execution* repeating tasks, as their scheduled execution times are allowed to drift over time, and so are not terribly significant.\n\n| Return ||\n|------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) | the time at which the most recent execution of this task was scheduled to occur, in the format returned by Date.getTime(). The return value is undefined if the task has yet to commence its first execution. |\n\n**See Also**\n\n- [java.util.Date#getTime()](/reference/kotlin/java/util/Date#getTime())"]]