Reiniciar a API
A API de reinicialização permite que qualquer aplicativo, incluindo aplicativos Win32 empacotados ou não empacotados, termine e reinicie-se no comando, incluindo a capacidade de fornecer uma cadeia de caracteres de linha de comando arbitrária para a instância reiniciada.
Definição
public static AppRestartFailureReason Restart(String arguments)
Parâmetros
arguments
: cadeia de caracteres
Os argumentos a serem passados para a instância reiniciada.
Retornos
A API de Reinicialização retorna um AppRestartFailureReason
.
Pré-requisitos
Para usar a API de ciclo de vida do aplicativo no SDK do Aplicativo Windows:
- Baixe e instale a versão mais recente do SDK do Aplicativo Windows. Para obter mais informações, confira Instalar ferramentas para o SDK do Aplicativo Windows.
- Siga as instruções para Criar seu primeiro projeto da WinUI 3 ou Usar o SDK do Aplicativo Windows em um projeto existente.
O que é esse Método de Reinicialização?
Para aplicativos Win32, o seguinte existe como possíveis mecanismos de reinicialização:
- O RegisterApplicationRestart da API do Win32 permite que um aplicativo se registre para ser reiniciado após o encerramento e forneça uma cadeia de caracteres de linha de comando arbitrária para a instância reiniciada. Os motivos para o encerramento incluem falha ou travamento do aplicativo, atualização de aplicativo ou atualização do sistema.
No entanto, existia uma lacuna para o seguinte cenário:
- Os aplicativos Win32 podem se registrar no sistema operacional para reiniciar em estados específicos do aplicativo/sistema operacional, mas não podem iniciar uma reinicialização de um estado íntegro
Essa API de Reinicialização permite que os aplicativos Win32 terminem e reiniciem no comando e se alinhem ao CoreApplication.RequestRestartAsync existente do CoreApplication.
Reiniciando com argumentos de linha de comando
Basta chamar o método Restart e especificar uma cadeia de caracteres de linha de comando arbitrária para a instância reiniciada com a qual reiniciar. A reinicialização é concluída de forma síncrona e nenhuma ação ou tratamento adicional é necessário. Se a reinicialização falhar por algum motivo, o método Restart retornará um motivo de falha.
Exemplos
private void restartAfterUpdate()
{
AppRestartFailureReason restartError = AppInstance.Restart(restartArgsInput);
switch (restartError)
{
case AppRestartFailureReason.RestartPending:
SendToast("Another restart is currently pending.");
break;
case AppRestartFailureReason.InvalidUser:
SendToast("Current user is not signed in or not a valid user.");
break;
case AppRestartFailureReason.Other:
SendToast("Failure restarting.");
break;
}
}
Para ver Exemplos de reinicialização, visite o repositório WindowsAppSDK-Samples.
Windows developer
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de