Я пытаюсь запросить UsageStats
от UsageStatsManager
с целью возвращения всех пакетов приложений, которые использовались ежедневно и надолго.Android: UsageStatsManager не возвращает правильные ежедневные результаты
Кодекс:
public static List<UsageStats> getUsageStatsList(Context context){
UsageStatsManager usm = getUsageStatsManager(context);
Calendar calendar = Calendar.getInstance();
long endTime = calendar.getTimeInMillis();
calendar.add(Calendar.DAY_OF_YEAR, -1);
long startTime = calendar.getTimeInMillis();
List<UsageStats> usageStatsList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY,startTime, endTime);
return usageStatsList;
}
У меня есть тревога, что пожары в день незадолго до полуночи и usagestats запрос, а затем сохраняет полученные данные. Сначала все, казалось, работало нормально, и я получал результаты пакета и их активное время, однако я добавил функцию, которая будет проверять результаты ежечасно, и вот где я сделал странное открытие.
Результаты от UsageStatsManager
, похоже, были сброшены в разное время, а не в полночь, что я и ожидал, учитывая, что я использовал INTERVAL_DAILY
в качестве параметра поиска.
Из данных я сохранил результаты пакет 'Time', кажется, сброс в (Грубые тайминги):
- 3am
- полуденного
- 3 вечера
- Полночь
Я понимаю, что существует корреляция между сбросом таймеров пакета, но это должно случиться?
Я уже видел следующую нить и где я получил много моей информации от: How to use UsageStatsManager?
Следовательно: Android UsageStatsManager producing wrong output? В комментариях говорится, что данные, возвращаемые из queryUsageStats
нельзя доверять и возвращаются случайные результаты.
Я пропустил что-то простое или UsageStatsManager
не работает правильно?