Compartilhar via


CoreApplication.RequestRestartAsync(String) Método

Definição

Reinicie o aplicativo.

public:
 static IAsyncOperation<AppRestartFailureReason> ^ RequestRestartAsync(Platform::String ^ launchArguments);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<AppRestartFailureReason> RequestRestartAsync(winrt::hstring const& launchArguments);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<AppRestartFailureReason> RequestRestartAsync(string launchArguments);
function requestRestartAsync(launchArguments)
Public Shared Function RequestRestartAsync (launchArguments As String) As IAsyncOperation(Of AppRestartFailureReason)

Parâmetros

launchArguments
String

Platform::String

winrt::hstring

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

private async void DoMajorAppReconfiguration()
{
    // Attempt restart, with arguments.
    AppRestartFailureReason result =
        await CoreApplication.RequestRestartAsync("-fastInit -level 1 -foo");

    // Restart request denied, send a toast to tell the user to restart manually.
    if (result == AppRestartFailureReason.NotInForeground
        || result == AppRestartFailureReason.Other)
    {
        SendToast("Please manually restart.");
    }
}

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 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

Confira também