В настоящее время я работаю над приложением AppLocker, которое обнаруживает открытие приложения пользователем с помощью UsageStatsManager. Я использую фоновый сервис BackgroundServices. java для обнаружения. Но когда мы открываем панель уведомлений путем прокрутки вниз, UsageStatsManager случайным образом принимает любое уведомление как работающее и без надобности открывает LockScreen.
Основной блок для обнаружения и возврата BackgroundServices текущего приложения.