Как определить, когда запускается действие?
Вы не делаете. В Android SDK нет ничего для «времени начала, когда приложение запускается», ни «времени окончания, когда приложение приостановлено или остановлено».
Вероятно, приложение, которое вы цитируете, тратит много времени ЦП, ОЗУ и время автономной работы, непрерывно опрашивая ActivityManager
.
Имейте в виду, что то, что вы предлагаете отслеживать, если вы планируете, чтобы кто-то, кроме пользователя, имел к нему доступ, граничит с нарушениями конфиденциальности того типа, который привел CarrierIQ к изрядному количеству проблем.