CoreApplication.RequestRestartAsync(String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
앱을 다시 시작합니다.
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
다시 시작한 instance 전달할 인수입니다.
반환
다시 시작 요청의 상태.
- 특성
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를 호출할 때 실행 중인 In-Process 백그라운드 작업이 있는 경우 해당 작업은 정상적인 방식으로 취소됩니다. Out-of-process 백그라운드 작업은 영향을 받지 않습니다.
- 앱을 다시 시작하면 LaunchActivatedEventArgs.PreviousExecutionState 값이 Terminated 이므로 앱이 다시 시작과 다시 시작을 구분할 수 있습니다.