Вы можете использовать таймеры, они уже работают в своих собственных потоках.
Вы также можете использовать обработчики для выполнения по времени.
В случае примера программы, с которой вы связаны, вы должны добавить что-нибудь с onTouch
и иметь таймер, работающий в фоновом режиме, чтобы периодически проигрывать мелодию.
Жизненный цикл активности следует рассматривать как спасательный круг вашей программы, а не столько кода в ней.
Как следить за временем?
System.currentTimeMillis();