Share via


User.NonRoamableId Propiedad

Definición

Obtiene el identificador no móvil del usuario.

public:
 property Platform::String ^ NonRoamableId { Platform::String ^ get(); };
winrt::hstring NonRoamableId();
public string NonRoamableId { get; }
var string = user.nonRoamableId;
Public ReadOnly Property NonRoamableId As String

Valor de propiedad

String

Platform::String

winrt::hstring

Identificador no móvil del usuario.

Ejemplos

En este ejemplo se muestra cómo guardar NonRoamableId cuando se suspende una aplicación y, a continuación, obtener NonRoamableId cuando se activa la aplicación. A continuación, se usa NonRoamableId para recuperar el objeto User, que se establece como el usuario actual. Este código se coloca en App.xaml.cs y se ha quitado el código extraño.

User ActiveUser = null;

protected async override void OnLaunched(LaunchActivatedEventArgs e)
{
    // ... code removed ...

        if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
        {
            //TODO: Load state from previously suspended application
            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            if (localSettings.Values.ContainsKey("previousUser"))
            {
                var previousId = (string)localSettings.Values["previousUser"];
                ActiveUser = User.GetFromId(previousId);
            }
            else
            {
                IReadOnlyList<User> users = await Windows.System.User.FindAllAsync();
                ActiveUser = users[0];
            }
        }

    // ... code removed ...
}

private void OnSuspending(object sender, SuspendingEventArgs e)
{
    var deferral = e.SuspendingOperation.GetDeferral();
    //TODO: Save application state and stop any background activity

    // If the user is authenticated and not a guest, save the  
    // NonRoamableId so we can retrieve this specific user later. 
    var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

    if (ActiveUser != null &&
       (ActiveUser.AuthenticationStatus != UserAuthenticationStatus.Unauthenticated) &&
       (ActiveUser.Type == UserType.LocalUser || ActiveUser.Type == UserType.RemoteUser))
    {
        localSettings.Values.Add("previousUser", ActiveUser.NonRoamableId);
    }
    else
    {
        if (localSettings.Values.ContainsKey("previousUser"))
        {
            localSettings.Values.Remove("previousUser");
        }
    }

    deferral.Complete();
}

Comentarios

En una aplicación multiusuario, es posible que tengas que recordar con qué usuario estaba trabajando la aplicación antes de que la aplicación se desactive o suspenda. Puede guardar NonRoamableId y, a continuación, usarlo como clave para recuperar el objeto de usuario de nuevo al activarse (consulte User.GetFromId).

NonRoamableId para un objeto de usuario es una cadena que es única para el dispositivo, la aplicación y el usuario. No se puede mover a otros dispositivos u otras aplicaciones. Además, si el usuario inicia sesión de forma remota, lo que da como resultado un valor User.Type diferente, NonRoamableId es diferente.

Se aplica a