como funcionam os aplicativos de uso do monitor android

Eu quero escrever um aplicativo que registre o uso de outros aplicativos no meu telefone.
Por exemplo, recebo os horários em que entrei no Facebook.

Eu entendo que não há como conseguir que um broadcastreceiver acorde toda vez que o Facebook for iniciado. Outra maneira é ter um serviço que sempre é executado em segundo plano e verifica se há aplicativos em execução e vai dormir a cada segundo, mas acho que isso esgotará minha bateria mais rapidamente.

Então, qual é a melhor maneira de fazer isso? Existe algum tipo de log que eu posso olhar?

questionAnswers(1)

yourAnswerToTheQuestion