0

Используя приведенный ниже код, я могу получить список всех зарегистрированных пользователей. Есть ли способ узнать, кто является текущим активным пользователем?Найти в настоящее время пользователя в xbox one UWP

IReadOnlyList<User> users = await Windows.System.User.FindAllAsync(); 
+0

Если есть два игровых контроллера, а другой человек держит каждый, который является «текущим активным пользователем»? Вы можете спросить каждого игрового контроллера для своего пользователя. Это скажет вам, какой пользователь держит каждый игровой контроллер. –

+0

@RaymondChen: Если несколько пользователей вошли в систему с одним контроллером, я не могу идентифицировать активного пользователя. – Bells

+0

Теперь убедитесь, что мы получили несколько пользователей, подключенных к одному контроллеру. Во всяком случае, что вы делаете, вы получаете Gamepad и смотрите на свойство User. Это скажет вам, какой пользователь использует этот геймпад. (Это может быть NULL, что означает «Я не знаю, кто использует этот геймпад, потому что они еще не вошли в систему».) –

ответ

1

Я недавно столкнулся с этой проблемой сам, и писал об этом here. Кто-то ответил на это и дал мне довольно большие намеки, которые, в свою очередь, помогли мне решить эту проблему.

Вот быстрый и грязный (мой UWP является HTML/JavaScript на основе BTW):

Во-первых, включите WinJS library в проекте, если вы уже не имеете его. Тогда вам просто нужно немного кода, чтобы захватить активного пользователя, когда приложение запущено ...

WinJS.Application.addEventListener('activated', function (args) { 
    args.detail.user // <-- the active user!! 
}); 

Для того, чтобы это было никакой пользы, вам необходимо предоставить ваше VS решение, то «userAccountInformation». Для этого:

  1. Откройте решение Visual Studio (я использую VS 2015).
  2. Дважды щелкните свой файл appxmanifest.
  3. Перейдите на вкладку «Возможности».
  4. Проверьте опцию «Информация об учетной записи пользователя».