Android - неактивность / активность независимо от топ приложения

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

Я пробовал несколько вещей:

Создайте сервис с окном и добавьте сенсорный слушатель. Это съело событие касания и не передавало этоИскал команду оболочки.getevent работает (новая строка появляется каждый раз при получении касания), однако вам нужен root, и поэтому это не подходящее решение для меня.Искал "время до блокировки", но ничего не придумал.

Также обратите внимание: здесь нет проблем с безопасностью, так как мне не нужна какая-либо идентифицирующая информация, такая как местоположение касания. Просто печать типа (или живое событие).

Я открыт для отражения, чтобы понять это.

@ user2558882 имеет очень хорошее решение. На данный момент это лучший подход, с которым я столкнулся.

Несмотря на то, что это здорово, пользователю все равно необходимо вручную включить наше приложение в элементах управления доступом. У нас есть клиенты с тысячами устройств, и у нас есть способ автоматически обновлять и изменять настройки. Мы стараемся свести ручную настройку к минимуму, но некоторые вещи все еще требуют ввода пользователя, например, включение режима администратора устройства. Таким образом, это решение приемлемо, однако я все еще открыт для способа, который не требует никакого пользовательского ввода для включения.

Я реализовал идею @ user2558882 об использовании сервиса специальных возможностей. Хотя другие идеи приветствуются.

Ответы на вопрос(2)

Ваш ответ на вопрос