Określanie bieżącej aplikacji na pierwszym planie na podstawie zadania lub usługi w tle

Chciałbym mieć jedną aplikację działającą w tle, która wie, kiedy jest uruchomiona którakolwiek z wbudowanych aplikacji (wiadomości, kontakty itp.). Więc moje pytania to: Jak uruchomić aplikację w tle. Skąd moja aplikacja działająca w tle może wiedzieć, jaka aplikacja jest aktualnie uruchomiona...