Не запускается фоновая задача Windows Companion Device Framework Windows Hello.
Я тестировал приложение C# Companion Device Framework, которое по большей части прекрасно работает на моем ноутбуке. Тем не менее, это не работает после того, как я оставил свой ноутбук на некоторое время заблокированным.
Я использовал код из примера CDF GitHub для запуска всплывающего уведомления, когда запускается фоновая задача для моего приложения-компаньона UWP. Это показывает мне, что при попытке разблокировки сразу после блокировки машины никогда не возникает проблем. Когда я блокирую свой компьютер, я сразу же вижу уведомление о том, что фоновая задача была запущена. Однако, если я заблокирую свой ноутбук и оставлю его на несколько минут, не похоже, что фоновая задача снова запускается, даже если я просыпаюсь с экрана и нажимаю кнопки.
Я хочу, чтобы мое приложение CDF всегда могло разблокировать мою машину. Что я сделал не так? Надеюсь, мне это не нужно, но есть ли обходной путь, например, регистрация второго триггера для фоновой задачи в пользовательском сервисе?
ОБНОВЛЕНИЕ: Похоже, это происходит только в том случае, если компьютер не переходит в спящий режим, что может произойти в том случае, если кто-то установил задолго до сна или полностью перестал спать (как я делал ранее). Если ноутбук переходит в спящий режим и его нужно разбудить щелчком трекпада, фоновая задача, похоже, срабатывает.
1 ответ
Проблема в том, что Windows UWP перестает запускать событие WaitForUserConfirmation через некоторое время.
В настоящее время у нас есть 2 возможных решения:
- пользователь нажимает на клавиатуру, и фоновая задача ловит событие CollectingCredential и вызывает аутентификацию сопутствующего устройства.
- после запуска фоновой задачи она зацикливается до события CredentialAuthenticated и периодически запускает проверку подлинности сопутствующего устройства.