2016-12-20 12 views
2

Некоторые основную информацию о UWP:Разрешающая текущего пользователя в UWP приложение

  • Возможности включения: Internet (Client), Сведения об учетной записи пользователя, веб-камера
  • набор объявлений
  • Целевая версия: Windows 10-летие издание
  • Минимальная версия: Windows 10 (10,0)
  • Сложение Платформа: x64

Вот мой код, чтобы получить информацию пользователя:

public async Task ResolveUserAsync() 
{ 
    if (_currentUserInfo != null) 
    { 
     return; 
    } 
    var users = await User.FindAllAsync(UserType.LocalUser); 
    var desiredProperties = new[] 
    { 
     KnownUserProperties.FirstName, KnownUserProperties.LastName, KnownUserProperties.ProviderName, KnownUserProperties.AccountName, KnownUserProperties.GuestHost, 
     KnownUserProperties.PrincipalName, KnownUserProperties.DomainName, KnownUserProperties.SessionInitiationProtocolUri 
    }; 
    _currentUserInfo = await users.FirstOrDefault().GetPropertiesAsync(desiredProperties); 
    foreach (var prop in _currentUserInfo) 
    { 
     Debug.WriteLine($"{prop.Key}: {prop.Value}"); 
    } 
} 

Выход в Debug консоли:

lastName: 
firstName: 
accountName: 
domainName: 
providerName: 
sipUri: 
principalName: 
guestHost: 

Приложение работает на планшете, который является членом классической эры, и я не могу понять, почему эти значения пустые. Приложение запрашивает подтверждение в пользовательских деталях в пользовательском интерфейсе.

Примечания: Если я тестирую это на машине, где я зарегистрирован с учетной записью AzureAD, этот код будет заполняться только firstName и lastName.

+0

Вы наконец поняли это? У меня есть аналогичная проблема и хотелось бы знать. спасибо – slayernoah

+0

@slayernoah Пока нет. Я все еще в этом вопросе. Я вернусь с информацией. – sprinter252

ответ

0

не полностью уверен, если это поведение изменилось в последнее время, но в прошлом он был в зависимости от ваших настроек конфиденциальности в качестве пользователя (настройки -> Конфиденциальность -> информация об аккаунте -> верхний тумблер)

+0

Я проверил это, и переключатель включен. – sprinter252

0

У меня была аналогичная проблема в моем приложении. После того, как я включил функцию «Проверка подлинности предприятия» в манифесте приложения, было заполнено, по крайней мере, свойство primaryName.