gpt4 book ai didi

java - 如何使用 Android 的 Handler.PostDelayed 使事件在指定时间发生?

转载 作者:行者123 更新时间:2023-12-01 15:36:30 26 4
gpt4 key购买 nike

我想让我的应用程序在将来的某个时刻执行代码。

我想做:

    Date now = new Date();

for (Date beep : scheduledBeeps) {
if (beep.after(now))
{
Logger.i("adding beep");
m_beepTimer.postAtTime(beepNow, beep.getTime());
}
}

在日志中我可以看到添加了 4 声蜂鸣声,但它们从未触发。我假设它与uptimeMillis有关,但我不知道该怎么做。

最佳答案

您必须获得 now 和 beep.gettime() 之间的差异并将其传递给 postattime 函数。由于正常运行时间是作为基准,因此如果手机进入深度 sleep ,则可能不准确。

beep.gettime - now + SystemCLock.uptimeMillis()

应传递给 postattime 函数

您当前正在传递一个非常大的数字,相当于 1970 年 1 月 1 日以来的当前毫秒数。

关于java - 如何使用 Android 的 Handler.PostDelayed 使事件在指定时间发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com