Проблема в том, что это занимает 3 секунды. Я хочу проверять приложение переднего плана каждые 1000 миллисекунд #THANKS_IN_ADVANCE

UsageEvents usageEvent = mUsageStatsManager.queryEvents(time - 100 * 1000, time);
UsageEvents.Event event = new UsageEvents.Event();
// get last event
while (usageEvent.hasNextEvent()) {
  usageEvent.getNextEvent(event);
}
if (topPackageName.equals(event.getPackageName()) && event.getEventType() ==
    UsageEvents.Event.MOVE_TO_FOREGROUND) {
  pActivity = topPackageName;
}

1 ответ

В соответствии с queryStats документация:

ПРИМЕЧАНИЕ. Последние несколько минут журнала событий будут усечены для предотвращения злоупотреблений со стороны приложений.

Так что это работает как задумано.

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