Временно отключить отслеживание использования приложений

Я использую UsageStatsManager чтобы получить историю записей использования приложения в определенный день. Проблема, с которой я столкнулся, например, когда пользователь открывает Facebook в 13:00, а в 13:01 он блокирует экран, а Facebook остается на переднем плане, и снова разблокирует экран в 14:00. API использования приложения показывает историю использования Facbook за 1 час, тогда как я хочу, чтобы он отображал только 1 минуту. Можно ли как-то отключить отслеживание, когда экран неактивен или временно отключить разрешение. Я застрял и не мог найти решение.

1 ответ

Я думаю, что вы можете сделать это, проверив, заблокировано ли ваше устройство или нет, и чтобы проверить, что есть простой трюк -

KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
 if( myKM.inKeyguardRestrictedInputMode()) {
        //it is locked
    } else {
       //it is not locked
   }

Поэтому каждый раз, когда вы хотите добавить время, просто поставьте вышеупомянутую проверку.

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