Как получить количество времени, в течение которого действие было на переднем плане в Android. Для экс. Если сегодня WhatsApp использовался 1 час, как сделать, чтобы WhatsApp был активен в течение одного часа программно.
Как узнать, как долго действие активно на переднем плане на Android
Ответы (2)
API статистики использования приложений позволяет разработчикам приложений собирать статистика использования приложений. Этот API предоставляет более подробную информацию об использовании, чем метод устаревший getRecentTasks(
).
Чтобы использовать этот API, вы должны сначала объявить разрешение android.permission.PACKAGE_USAGE_STATS
в своем манифесте. Пользователь также должен разрешить доступ для этого приложения через Settings > Security > Apps with usage access
.
Чтобы собрать статистику использования приложения, вам нужно сначала получить экземпляр UsageStatsManager с помощью следующего кода:
mUsageStatsManager = (UsageStatsManager) getActivity()
.getSystemService(Context.USAGE_STATS_SERVICE);
Затем вы можете получить статистику использования приложения следующим способом:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -1);
List<UsageStats> queryUsageStats = mUsageStatsManager
.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, cal.getTimeInMillis(),
System.currentTimeMillis());
Первый аргумент queryUsageStats()
используется для временного интервала, по которому агрегируется статистика. Второй и третий аргументы используются для указания начала и конца диапазона статистики для включения в результаты.
Вот базовый код приложения на GitHub, показывающий, как использовать API статистики использования приложений, чтобы пользователи могли собирать статистика использования приложений.
Примечание. android.app.usage
требуется уровень API 21 или выше.
В Android есть встроенный инструмент для этого под названием "dumpsys".
Большинство его функций предназначены для разработчиков, использующих ADB, но для ваших целей вам следует изучить UsageStatsManager, который предоставит вам необходимые данные о других приложениях.
Timer
вonStart()
. Остановите таймер вonStop()
и сохраните время где-нибудь. - person Sharp Edge   schedule 10.12.2016