Подтвердить что ты не робот

Как отслеживать использование приложений в Android? Как определить, когда запущена деятельность?

Мне нужно отслеживать использование приложений на Android, как это делает AppUsage (т.е. номер трека запуска приложений и время, затрачиваемое на использование каждого). То, что я планирую делать, это записать время начала, когда приложение запущено, а затем получить время окончания, когда приложение приостановлено или остановлено. В LogCat я могу видеть журналы запуска активности. Я посмотрел доступные системные трансляции, я не уверен, есть ли что-то, что транслируется всякий раз, когда начинается действие., В основном, как определить, когда запускается действие?

Изменить: Кроме того, Android также имеет внутреннюю систему статистики использования, которая может быть найдена в приложении Spare Parts или когда набирается *#*#4636#*#* (Тестирование → Статистика использования)

4b9b3361

Ответ 1

Теперь мы можем получить доступ к истории использования приложений на устройстве Android с новым API android.app.usage, выпущенным как часть Android 5.0 API. Система собирает данные об использовании для каждого приложения, агрегируя данные за каждый день, еженедельные, ежемесячные и ежегодные интервалы.

Для каждого приложения система записывает следующие данные:

Последний раз, когда приложение было использовано Общее время, в течение которого приложение находилось на переднем плане за этот промежуток времени (по дням, неделям, месяцам или годам) Запись временной метки, когда компонент (идентифицированный пакетом и названием деятельности) перемещается на передний план или фон в течение дня Запись временной метки при изменении конфигурации устройства (например, когда ориентация устройства изменилась из-за вращения)

Refr: http://developer.android.com/reference/android/app/usage/package-summary.html

Ответ 2

В принципе, как определить, когда запускается активность?

Нет. В Android SDK ничего нет "время запуска при запуске приложения" и "время окончания приостановки или остановки приложения".

То, что приложение, которое вы цитируете, вероятно, делает, тратит много времени на процессор, оперативную память и время автономной работы, непрерывно опроса ActivityManager.

Имейте в виду, что то, что вы предлагаете отслеживать, если вы планируете иметь кого-либо, кроме пользователя, доступ к нему, граничит с нарушениями конфиденциальности типа, получившего CarrierIQ, в достаточной степени.