Android - Executar um thread repetidamente dentro de um temporizador

Primeiro de tudo, eu não poderia nem escolher o método para usar, eu estou lendo há horas agora e alguém diz usar 'Manipuladores', alguém diz usar 'Timer'. Aqui está o que eu tento alcançar:

Nas preferências, há uma configuração (caixa de seleção) que habilita / desabilita o trabalho repetido. Como essa caixa de seleção está marcada, o temporizador deve começar a funcionar e o encadeamento deve ser executado a cada x segundos. Como a caixa de seleção está desmarcada, o temporizador deve parar.

Aqui está meu código:

Verificando se a caixa de seleção está marcada ou não, se marcada, o 'refreshAllServers' será executado, o que faz o trabalho com o temporizador.

boolean CheckboxPreference = prefs.getBoolean("checkboxPref", true);
                if(CheckboxPreference == true) {
                    Main main = new Main();
                    main.refreshAllServers("start");
                } else {
                    Main main = new Main();
                    main.refreshAllServers("stop");
                }

O refreshAllServers void que faz o trabalho de timer:

public void refreshAllServers(String start) {

    if(start == "start") {

        // Start the timer which will repeatingly execute the thread

    } else {

        // stop the timer

            }

E aqui está como eu executo o meu thread: (funciona bem sem temporizador)

Thread myThread = new MyThread(-5);
                myThread.start();

O que eu tentei?

Eu tentei qualquer exemplo que eu pudesse ver do Google (manipuladores, timer) nenhum deles funcionou, eu consegui iniciar o temporizador uma vez, mas parando não funcionou. O código mais simples e compreensível que vi na minha pesquisa foi o seguinte:

new java.util.Timer().schedule( 
        new java.util.TimerTask() {
            @Override
            public void run() {
                // your code here
            }
        }, 
        5000 
);

questionAnswers(5)

yourAnswerToTheQuestion