CoreApplication.RequestRestartAsync(String) Methode

Definition

Starten Sie die App neu.

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)

Parameter

launchArguments
String

Platform::String

winrt::hstring

Die Argumente, die an den neu gestarteten instance übergeben werden sollen.

Gibt zurück

Die status der Neustartanforderung.

Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Fall Creators Update (eingeführt in 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v5.0)

Beispiele

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.");
    }
}

Hinweise

  • Die App muss sichtbar und im Vordergrund stehen, wenn sie diese API aufruft.
  • Wenn beim Neustart ein Fehler auftritt, aber der Benutzer die App anschließend manuell startet, wird die App normal gestartet, und es werden keine Neustartargumente übergeben.
  • Wenn die App nicht auf normale Weise gestartet wurde, sondern durch einen Freigabevertrag, eine Dateiauswahl, einen App-Service usw. gestartet wurde, sollte die App diese API nicht aufrufen, da der Benutzer das resultierende Verhalten nicht erwartet.
  • Die App sollte keine Sitzung mit erweiterter Ausführung anfordern, nachdem sie diese API aufgerufen hat, da dies zu einer schlechten Benutzerfreundlichkeit führt.
  • Wenn für die App beim Aufrufen dieser API prozessinterne Hintergrundaufgaben ausgeführt werden, werden diese Aufgaben auf normale Weise abgebrochen. Hintergrundaufgaben außerhalb des Prozesses sind nicht betroffen.
  • Wenn die App neu gestartet wird, hat LaunchActivatedEventArgs.PreviousExecutionState den Wert Terminated , sodass die App zwischen einem Lebenslauf und einem Neustart unterscheiden kann.

Gilt für:

Weitere Informationen