Определить, если пользователь бездействует в универсальном приложении Windows
Я занимаюсь разработкой библиотеки классов для универсальных приложений Windows 10 (только семейства мобильных и настольных устройств). Мне нужно вызвать событие, если пользователь простаивал (без прикосновения, перемещения мыши, нажатия клавиши и т. Д.) В течение x секунд. Этот метод может быть использован для решения этой проблемы на Android. Но я не мог найти решение для Windows UWP.
Есть ли в UWP API для этого?
2 ответа
Вы можете обнаружить глобальный ввод с различными событиями в CoreWindow приложения:
Сенсорный ввод и ввод с помощью CoreWindow.PointerPressed, PointerMoved и PointerReleased.
Ввод с клавиатуры: KeyUp и KeyDown (программные клавиши) и CharacterReceived (для символов, созданных с помощью аккордов и текстовых подсказок)
Используйте их, чтобы обнаружить, что пользователь активен и простаивает, если он продолжается слишком долго без какого-либо из этих событий.
Я знаю, что это действительно старый вопрос, но я думаю, что теперь вы можете получить тот же результат с помощью RegisterBackgroundTask ( https://docs.microsoft.com/en-us/windows/uwp/launch-resume/register-a-background-task ) Просто установите
new TimeTrigger (15, false) // Для триггера времени
https://docs.microsoft.com/en-us/windows/uwp/launch-resume/run-a-background-task-on-a-timer-
new SystemCondition(SystemConditionType.UserNotPresent)) // Итак, вы хотите знать, что пользователя нет