Determinar o aplicativo de primeiro plano atual a partir de uma tarefa ou serviço em segundo plano

Desejo ter um aplicativo que seja executado em segundo plano, que saiba quando qualquer um dos aplicativos integrados (mensagens, contatos, etc) está em execução. Então, minhas perguntas são: Como devo executar meu aplicativo em segundo plano. Como meu aplicativo em segundo plano pode saber o...