2014-02-07 3 views
2

Некоторый код, чтобы получить имя пользователя, вошедшего в систему пользователя на 8 Маркете Windows:WinJS getPrincipalNameAsync

var x = Windows.System.UserProfile.UserInformation; 
var y = x.getPrincipalNameAsync().done(function(response) { 
    console.log(response); 
}); 

У меня есть две виртуальные машины, Windows 8 и Windows, 8.1. Код работает над решением на виртуальной машине Windows 8, и сегодня я следил за этим guide, чтобы перенаправить мое приложение на Windows 8.1. И хотя работа с перенаправлением работала, и я могу развернуть обновленный .appx на планшет 8.1, приведенный выше код просто возвращает «».

Пожалуйста, помогите.

ответ

6

Из документации:

только пользователи домена имеют имя принципала. Доступ к основному имени может быть заблокирован настройками конфиденциальности (например, если свойство UserInformation :: NameAccessAllowed является ложным). Если доступ заблокирован, этот метод возвращает пустую строку.

Возможно, ваш пользователь не является пользователем домена или конфиденциальность на вашем компьютере с Windows8 отличается от другого.

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

Это полная документация: http://msdn.microsoft.com/en-us/library/windows/apps/windows.system.userprofile.userinformation.getprincipalnameasync.aspx

+0

Определенно пользователь домена - и администратор на компьютере, который я развиваю дальше. – markp3rry

+0

Вы связали своего пользователя с учетной записью microsoft, когда вы создали его на своей машине windosw 8.1? –

+1

также проверьте настройки -> изменить настройки ПК -> Конфиденциальность. Теперь включите все параметры конфиденциальности и запустите приложение. –