gpt4 book ai didi

java - Android - 条件为真时每 X 毫秒运行一个函数?

转载 作者:太空狗 更新时间:2023-10-29 14:31:19 26 4
gpt4 key购买 nike

我只想在外部标志为真时每 X 毫秒运行一个函数 myFunction()。但是,我在线程(应用程序崩溃)、计时器(应用程序崩溃)方面运气不佳。处理程序/可运行对象要好一些,但通常我会有类似的东西:

Runnable rr = new Runnable() {
public void run() {
if (flag1 == true) {
myFunction();
} else {
return;
}
}
};
handler.postDelayed(rr, 1000);

但是接下来的问题是1000毫秒之后会一个接一个的执行。我希望执行一次 myFunction,等待 1000 毫秒,调用 myFunction,等待 1000 毫秒,调用 myFunction,等等,直到 flag1 变为假。

我已经坚持了一段时间,所以非常感谢任何帮助。

编辑 - 更多问题信息

处理程序定义如下:

private Handler handler = new Handler();

它的类是 BroadcastReceiver,我在其中尝试根据来自外部硬件的异步事件监听标志​​更改。

最佳答案

这将在应用程序的生命周期内每秒循环并检查标志。

Thread myThread = new Thread(new UpdateThread());`
myThread.start();`

public class UpdateThread implements Runnable {

@Override
public void run() {
while(true)
{
if (flag1 == true)
myFunction();
myThread.sleep(1000);
}

}

你可能还想看看服务

http://developer.android.com/reference/android/app/Service.html

关于java - Android - 条件为真时每 X 毫秒运行一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473576/

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