Вложенный постDlaylayed / Runnable / Handler Android

Я пытаюсь использовать вложенный postDelayed, потому что мне нужно что-то делать через (с задержкой) 5 минут, останавливать его через (с задержкой) 30 секунд, делать что-то еще, а затем повторить оба события цикла снова с самого начала. Я просто не могу понять это правильно.

код у меня софар:

private long EnabledAfter  = 300000; // 5 minutes
private long DisabledAfter = 30000;  // 30 seconds

public void start_timers(){
    on_delayed(EnabledAfter);
}//end method

private void on_delayed(long period_off){       
    Delayed = new Runnable() {
        public void run() {                                                     
            something.enable(context);                          
            something.enable_else(context, true);       
            off_delayed(DisabledAfter); // and disable both again delayed

            Handler.postDelayed(Delayed, EnabledAfter);
        }
    };
    Handler.postDelayed(Delayed, EnabledAfter);
}//end method

private void off_delayed(long period_on){       
    Delayed = new Runnable() {
        public void run() {
            something.disable(context);                                 
            something.disable_else(context, false); 
            on_delayed(period_on); // start the proces again from the start...

            //Handler.postDelayed(Delayed, DisabledAfter);              
        }
    };
    Handler.postDelayed(Delayed, period_on);
}//end method

Проблема в том, что при первом запуске все работает нормально, но затем кажется, что они накладываются друг на друга ... и все задержки устраняются. Мне нужно выполнить обаRunnables ровно через 5 минут и 30 секунд, затем повторите процесс.

Ответы на вопрос(1)

Ваш ответ на вопрос