CoreApplication.RequestRestartAsync(String) 方法

定义

重新启动应用。

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)

参数

launchArguments
String

Platform::String

winrt::hstring

要传递给重启实例的参数。

返回

重启请求的状态。

属性

Windows 要求

设备系列
Windows 10 Fall Creators Update (在 10.0.16299.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v5.0 中引入)

示例

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

注解

  • 应用在调用此 API 时必须可见和前台。
  • 如果重启失败,但用户随后手动启动应用,应用将正常启动,并且不会传递任何重启参数。
  • 如果应用不是以正常方式启动的,而是由共享协定、文件选取器、应用服务等启动的,则应用不应调用此 API,因为用户不会期望得到结果行为。
  • 应用在调用此 API 后不应请求扩展执行会话,因为这会导致用户体验不佳。
  • 如果应用在调用此 API 时运行了任何进程内后台任务,则这些任务将以正常方式取消。 进程外后台任务不会受到影响。
  • 重启应用时, LaunchActivatedEventArgs.PreviousExecutionState的值将 终止,以便应用可以区分恢复和重启。

适用于

另请参阅