每隔一分钟执行一次功能android / kotlin

我知道

这有可能从完整的分钟开始每分钟在android中执行功能吗,例如。当我在8:30:12运行我的应用程序时,第一个函数调用将在8:31:00,然后在8:32:00,依此类推。

Animesh Sahu

您必须首先计算在8:30:12开始执行任务所需的精确到分钟的时间,第一次调用应该在8:31:00进行。

因此,您可以使用提取当前时间System.currentTimeMillis(),然后将其分钟数取整为最接近的整数,

// import kotlin.math.ceil
val firstCallTime = ceil(System.currentTimeMillis() / 60_000.0).toLong() * 60_000

然后,您可以使用协程来处理您的任务,该任务将使用CommonPool从中获取可重用的线程,并且不需要您创建线程。

// scope can be anything, for instance you want to call the function
// only when client is using your application then use viewModelScope provided,
// otherwise your own scope like `val scope = CoroutineScope(Dispatchers.Main)`
// Or use Dispatchers.Default for CPU intensive tasks

val parentJob = scope.launch {
    // suspend till first minute comes after some seconds
    delay(firstCallTime - System.currentTimeMillis())
    while (true) {
        launch {
            yourFunctionToBeCalled()
        }
        delay(60_000)  // 1 minute delay (suspending)
    }
}

// If you ever want your job to cancel just do a cancel,
// the function delay suspends and so cancellable without interrupting the threads
// parentJob.cancel()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript:每3秒执行一次功能,一分钟

来自分类Dev

使用H / 1每隔一分钟运行一次Jenkins作业

来自分类Dev

Nexus-5每隔一分钟触发一次守位

来自分类Dev

每隔一分钟运行一次JS函数

来自分类Dev

每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

来自分类Dev

每隔2分钟执行一次cron作业,但第一个小时“ 0”的第一分钟“ 0”除外

来自分类Dev

我如何每隔一分钟在php中执行代码?

来自分类Dev

Vim一次随机暂停一分钟左右

来自分类Dev

安排 PgAgent 作业每天每一分钟运行一次

来自分类Dev

每隔一分钟通过Node.js发出一个请求

来自分类Dev

如何每隔一分钟从网络摄像头拍照?

来自分类Dev

在熊猫中仅选择每隔一分钟有数据的日期范围

来自分类Dev

如何知道每隔一分钟重新启动哪个服务

来自分类Dev

如何每隔一分钟将2加到当前值?

来自分类Dev

每分钟一分钟的通话功能

来自分类Dev

ios活动指示器一次可见,然后直到一分钟后我再试一次才显示

来自分类Dev

c#尽管有线程时间,但每隔一分钟运行一个线程

来自分类Dev

从最后一分钟开始活动(PHP)

来自分类Dev

给字符串加一分钟

来自分类Dev

DateTime.TryParseExact增加一分钟?

来自分类Dev

DateTime.TryParseExact增加一分钟?

来自分类Dev

一分钟。字典中的值

来自分类Dev

一分钟后无法上网

来自分类Dev

运行Cron不到一分钟-Laravel

来自分类Dev

WordPress网站加载将近一分钟

来自分类Dev

Ubuntu 需要一分钟才能启动

来自分类Dev

从最后一分钟开始显示可变数字的功能

来自分类Dev

不到一分钟的Hangfire重复执行任务

来自分类Dev

performSegueWithIdentifier需要一分钟才能执行或崩溃

Related 相关文章

热门标签

归档