我可以在运行时更改周期处理程序的间隔吗?



我有这个perodic 处理程序

int interval = 35000;
Runnable runnableForConsumption = new Runnable() {
        @Override
        public void run() {
            handler.postDelayed(runnableForConsumption, interval);
            new ConnectWSTask().execute();
        }
    };
    void startRepeatingTask() {
        runnableForConsumption.run();
        }
    void stopRepeatingTask() {
        handler.removeCallbacks(runnableForConsumption);
    }

,我想要第一次运行的间隔为2000毫秒,在此运行之后,我想要35000ms的间隔。

可以在运行过程中更改此处理程序的间隔吗?

或还有其他可能性吗?

您可以尝试以下方法:

    public void run(){
        handler.postDelayed(runnableForConsumption, interval);
        if(interval == 2000){
            interval = 3500;
        }
        new ConnectWSTask().execute();
    }

关键是您在第二个postDelayed

之前将interval更改为3500

相关内容

最新更新