CoreApplication.RequestRestartForUserAsync(User, String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Riavviare l'app nel contesto di un utente diverso.
public:
static IAsyncOperation<AppRestartFailureReason> ^ RequestRestartForUserAsync(User ^ user, Platform::String ^ launchArguments);
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User const& user, winrt::hstring const& launchArguments);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User user, string launchArguments);
function requestRestartForUserAsync(user, launchArguments)
Public Shared Function RequestRestartForUserAsync (user As User, launchArguments As String) As IAsyncOperation(Of AppRestartFailureReason)
Parametri
- user
- User
L'utente per riavviare l'app come.
- launchArguments
-
String
Platform::String
winrt::hstring
Argomenti da passare all'istanza riavviata.
Restituisce
Stato della richiesta di riavvio.
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 Fall Creators Update (è stato introdotto in 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v5.0)
|
Esempio
private async void RestartAsAnotherUser(string selectedUser)
{
IReadOnlyList<User> users = await User.FindAllAsync();
foreach (User user in users)
{
object accountProperty =
await user.GetPropertyAsync(KnownUserProperties.AccountName);
string accountName = (string)accountProperty;
if (accountName == selectedUser)
{
// Attempt restart, with arguments.
AppRestartFailureReason result = await App.RequestRestartForUserAsync(
user, "-fastInit -mainMenu");
// Restart request denied, tell the user to restart manually.
if (result== AppRestartFailureReason.InvalidUser)
{
SendToast(string.Format("Could not restart as user {0} - please manually restart.", user));
}
}
}
}
Commenti
- L'app deve essere visibile e in primo piano quando chiama questa API.
- Se il riavvio ha esito negativo, ma successivamente l'utente avvia l'app manualmente, l'app verrà avviata normalmente e non verranno passati argomenti di riavvio.
- Se l'app non è stata avviata normalmente, ma è stata avviata da un contratto di condivisione, una selezione file, un servizio app e così via, l'app non deve chiamare questa API perché l'utente non prevede il comportamento risultante.
- L'app è responsabile di garantire la validità dell'oggetto User . L'attivazione avrà esito negativo se sono presenti criteri che impediscono all'utente di eseguire l'app.
- L'app non deve richiedere una sessione di esecuzione estesa dopo che ha chiamato questa API perché ciò comporterà un'esperienza utente scarsa.
- Se l'app ha attività in background in-process in esecuzione quando chiama questa API, tali attività verranno annullate normalmente. Le attività in background out-of-process non saranno interessate.
- Quando l'app viene riavviata, LaunchActivatedEventArgs.PreviousExecutionState avrà il valore Terminato in modo che l'app possa distinguere tra un curriculum e un riavvio.