UWP中的用户属性

时间:2016-07-07 15:06:20

标签: c# uwp

除FirstName外,所有属性都返回空字符串。

我在代码中找不到任何错误。

我尝试了很多次但仍然得到空字符串。返回值的唯一属性是FirstName。

       public static async void GetCurrenntLocalUsers
                 (ObservableCollection<UserInformation> informations )
       {
           IReadOnlyList<User> users = await 
                      Windows.System.User.FindAllAsync(UserType.LocalUser,
                      UserAuthenticationStatus.LocallyAuthenticated);

           foreach (var user in users)
           {

               IRandomAccessStreamReference img = await 
                     user.GetPictureAsync(UserPictureSize.Size64x64);

               var stream = await img.OpenReadAsync();

               BitmapImage image=new BitmapImage();

               image.SetSource(stream);

               var userprop = await 
                     user.GetPropertiesAsync(await getproperties());

               string ff = userprop[KnownUserProperties.AccountName].ToString(); //Empty String

               informations.Add(new UserInformation()
               {
                    Name = userprop[KnownUserProperties.FirstName].ToString(),
                    DomainName = userprop[KnownUserProperties.DomainName].ToString(), //Empty String
                    UserImage = image
               });

            }
       }

getProperties是

  private static async Task<IReadOnlyList<string>> getproperties()
  {
         var prop=new List<String>()
         {
                KnownUserProperties.FirstName,
                KnownUserProperties.DomainName,
                KnownUserProperties.AccountName
         };
         return prop;
  }

1 个答案:

答案 0 :(得分:1)

参考App Capability

需要此userAccountInformation功能才能访问Windows.System.UserProfile命名空间中的某些API。当您在应用程序包清单中声明它时,它必须包含uap命名空间,如下所示:

style.css

对于本地用户,只能通过<Capabilities> <uap:Capability Name="userAccountInformation" /> </Capabilities> 方法获得DisplayName属性。

对于域用户,以下属性等于实际值:

  • DisplayName:Franklin Chen
  • DomainName:xxxx.domain.COM \ user_alias
  • 名字:富兰克林
  • 姓氏:陈
  • SessionInitiationProtocolUri:sip://user_alias@domain.com