Я работаю над приложением Windows 8.1 Metro. Приложение предоставляет персональный опыт пользователю, который вошел в систему Windows с его учетной записью Live.Проверьте, не вступил ли пользователь в систему или нет после того, как был запущен OnlineIdConnectedStateChange.
Как предусмотрено в Windows, любой пользователь может подключить/отключить свою личную учетную запись на ПК с помощью настроек ПК -> Аккаунт. Мое требование должно быть уведомлено об этом событии, то есть всякий раз, когда пользователь подключает/отключает свою личную учетную запись на ПК. Теперь, согласно странице MSDN (http://msdn.microsoft.com/en-us/library/windows/apps/hh977056.aspx), это событие вызовет функцию OnlineIdConnectedStateChange. Я смог выполнить фоновое задание в приложении, которое прослушивает триггер, и работает отлично. Каждый раз происходит изменение в подключенной учетной записи Live, при запуске прослушивателя событий. Но я не могу определить тот факт, что пользователь вошел в систему с какой-либо реальной учетной записью или вышел из уже подключенной учетной записи.
Я пробовал использовать Windows.Security.Authentication.OnlineId.OnlineIdAuthenticator
, как указано в (Metro App - How to detect if logged in with Live ID or Local Account), но это вызывает поток аутентификации, если ни один пользователь не выполнил вход. Это не то, что я хочу. Я просто хочу знать, что кто-то вошел в систему или нет. Я не хочу запускать поток Auth.
Есть ли способ определить статус входа в систему/выезда пользователя, когда событие «OnlineIdConnectedStateChange» запущено в фоновом задании?
Спасибо за любую помощь.
Мой вопрос не в том, чтобы определить, является ли пользователь новым или тем же. Он должен определить, было ли действие, вызвавшее событие «OnlineIDConnectedStateChange», логином или выходом из системы. –
Вы все равно можете использовать этот подход. Если идентификатор равен NULL, а событие запускается, то это попытка входа в систему и наоборот. –
Откуда я могу получить идентификатор? –