@piotrmarcinkowski 
Idea mojego kodu jest następująca:

1. Uruchom ``SplashActivity``, jeśli w ``Bundle`` znajdują się informacje o uruchomionym wątku to koniec (jeden wątek w tle), w przeciwym wypadku *=> 2*
2. Uruchom wątek w tle.
3. Wątek w tle ustawia wartość zmiennej informującej o tym, że działa na ``true``.
4. Gdy wątek działający w tle skończy działanie uruchamiane jest nowe ``Activity`` i zamykane to, z którego został wystartowany; dodatkowo wartość zmiennej wspomnianej w *3* jest zmieniana na ``false``.

Jeśli podczas działanie ``Activity`` zostanie w jakiś sposób przerwane (np. zmieniona orientacja ekranu) aktualna wartość zmiennej wspomnianej w *3* jest zapisywana do ``Bundle``.

Ciekawym przypadkiem jest właśnie zmiana orientacji. Spowoduje to ponowne uruchomienie ``SplashActivity``, ale już nie wątku roboczego, który gdy skończy działanie nałoży na pierwszy plan ``MainActivity``. Ponieważ klikając *Back* będąc na ``MainActivity`` spwodujemy zamknięcie aplikacji, to nigdy nie wrócimy na *n*-ty uruchomiony ``SplashActivity``.