Использование UsageStatsManager для мониторинга времени, потраченного на приложение Android

Я пытаюсь реализовать приложение для Android, которое могло бы уведомить пользователя, когда они потратили X времени на приложение для социальных сетей, такое как Facebook или Instagram. Мне известно, что queryUsageStats() из UsageStatsManager является предпочтительным способом, но в соответствии с Android-документами интервалы охватывают только менее суток. Можно ли вообще делать запросы один раз в час или два, чтобы я мог своевременно отправлять уведомления?

1 ответ

Недавно я пытался получить ту же информацию, используя классы UsageStats и UsageStatsManager, но похоже, что эти классы не предназначены для этой цели.

Чтобы ответить на ваш вопрос, да, можно запросить в течение часа или двух, передав параметры в класс queryUsageStats(int intervalType, long beginTime, long endTime)но к сожалению пока получаю результаты List<UsageStats>, не будет ограничен для определенного периода, возвращаемые данные могут быть больше, чем за период, который вы передали в качестве параметра.

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

Другие вопросы по тегам