Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无限在一定时间后调用某个函数_Android_Multithreading_Sleep_Repeat_Period - Fatal编程技术网

Android 无限在一定时间后调用某个函数

Android 无限在一定时间后调用某个函数,android,multithreading,sleep,repeat,period,Android,Multithreading,Sleep,Repeat,Period,我试过time和timertask、handler和runnables,没有任何东西能让我的函数在特定时间后被调用。请帮我把这个处理掉 when = System.currentTimeMillis(); t1 = new Timer(); tt = new TimerTask(){@Override public void run(){ systemClick();}}; t1.scheduleAtFixedRate(tt, when+interval, interval); 还有这个: f

我试过time和timertask、handler和runnables,没有任何东西能让我的函数在特定时间后被调用。请帮我把这个处理掉

when = System.currentTimeMillis();
t1 = new Timer();
tt = new TimerTask(){@Override public void run(){ systemClick();}};
t1.scheduleAtFixedRate(tt, when+interval, interval);
还有这个:

final Handler myHandler = new Handler();

    Runnable runnableforadd  = new Runnable() 
    {
        public void run() 
        {
            systemClick();              
            myHandler.postDelayed(this, interval);
        }   
    };
    myHandler.postDelayed(runnableforadd, when + interval);
我在onCreate()中执行的第一个和第二个命令
systemClick()
实际上一次也不会被调用(我已经在里面放了Toast)。我不太懂线程

systemClick
-是一个函数,系统在其中执行单击我的按钮-
myButton。在这里调用performClick()
(以及其他函数)

我怎样才能解决这个问题


谢谢你试过了吗。AlarmManager将在一定时间后帮助您执行代码。

您尝试过了吗。AlarmManager将帮助您在特定时间段后执行代码。

延迟时间中的值应为您希望方法等待的值。例如,如果您想在等待1分钟后调用您的方法,则传递60000

myHandler.postDelayed(runnableforadd, 60000);

当前,您正在System.currentTimeMillis()的延迟时间中添加“wait”,这意味着您的方法将在大约“13389000000”毫秒后被调用

延迟时间中的值应该是您希望方法等待的值。例如,如果您想在等待1分钟后调用您的方法,则传递60000

myHandler.postDelayed(runnableforadd, 60000);
当前,您正在System.currentTimeMillis()的延迟时间中添加“wait”,这意味着您的方法将在大约“13389000000”毫秒后被调用