CoreApplication.RequestRestartForUserAsync(User, String) Método

Definição

Reinicie o aplicativo no contexto de um usuário diferente.

C#
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User user, string launchArguments);

Parâmetros

user
User

O usuário para reiniciar o aplicativo como.

launchArguments
String

Os argumentos a serem passados para a instância reiniciada.

Retornos

O status da solicitação de reinicialização.

Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 Fall Creators Update (introduzida na 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v5.0)

Exemplos

C#
private async void RestartAsAnotherUser(string selectedUser)
{
    IReadOnlyList<User> users = await User.FindAllAsync();
    foreach (User user in users)
    {
        object accountProperty =
            await user.GetPropertyAsync(KnownUserProperties.AccountName);
        string accountName = (string)accountProperty;
        if (accountName == selectedUser)
        {
            // Attempt restart, with arguments.
            AppRestartFailureReason result = await App.RequestRestartForUserAsync(
                user, "-fastInit -mainMenu");

            // Restart request denied, tell the user to restart manually.
            if (result== AppRestartFailureReason.InvalidUser)
            {
                SendToast(string.Format("Could not restart as user {0} - please manually restart.", user));
            }
        }
    }
}

Comentários

  • O aplicativo deve estar visível e em primeiro plano ao chamar essa API.
  • Se a reinicialização falhar, mas o usuário iniciar o aplicativo manualmente, o aplicativo será iniciado normalmente e nenhum argumento de reinicialização será passado.
  • Se o aplicativo não foi iniciado da maneira normal, mas foi iniciado por um contrato de compartilhamento, seletor de arquivos, serviço de aplicativo e assim por diante, o aplicativo não deve chamar essa API porque o usuário não espera o comportamento resultante.
  • O aplicativo é responsável por garantir a validade do objeto User . A ativação falhará se houver uma política em vigor que impeça o usuário de executar o aplicativo.
  • O aplicativo não deve solicitar uma sessão de Execução Estendida depois de ter chamado essa API porque isso resultará em uma experiência de usuário ruim.
  • Se o aplicativo tiver tarefas em segundo plano em processo em execução ao chamar essa API, essas tarefas serão canceladas da maneira normal. Tarefas em segundo plano fora do processo não serão afetadas.
  • Quando o aplicativo for reiniciado, LaunchActivatedEventArgs.PreviousExecutionState terá o valor Terminated para que o aplicativo possa distinguir entre um currículo e uma reinicialização.

Aplica-se a

Produto Versões
WinRT Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

Confira também