UWP 中的用户属性
本文关键字:属性 用户 UWP | 更新日期: 2023-09-27 17:55:37
除名字之外的所有属性都返回空字符串。
我在代码中找不到任何错误。
我尝试了很多次,但仍然得到空字符串。返回值的唯一属性是 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;
}
引用应用功能
此 userAccountInformation 功能是访问 Windows.System.UserProfile 命名空间中的某些 API 所必需的。在应用的程序包清单中声明 uap 命名空间时,它必须包含 uap 命名空间,如下所示:
<Capabilities>
<uap:Capability Name="userAccountInformation" />
</Capabilities>
对于本地用户,只有DisplayName
属性将通过User.GetPropertiesAsync()
方法实现。
对于域用户,以下属性等于实际值:
- 显示名称: 陈富兰克林
- 域名: xxxx.domain.COM''user_alias
- 名字: 富兰克林
- 姓氏: 陈
- SessionInitiationProtocolUri: sip://user_alias@domain.com