Bagikan melalui


CoreApplication.RequestRestartForUserAsync(User, String) Metode

Definisi

Mulai ulang aplikasi dalam konteks pengguna yang berbeda.

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)

Parameter

user
User

Pengguna untuk memulai ulang aplikasi sebagai.

launchArguments
String

Platform::String

winrt::hstring

Argumen yang akan diteruskan ke instans yang dimulai ulang.

Mengembalikan

Status permintaan hidupkan ulang.

Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 Fall Creators Update (diperkenalkan dalam 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v5.0)

Contoh

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

Keterangan

  • Aplikasi harus terlihat dan latar depan saat memanggil API ini.
  • Jika hidupkan ulang gagal, tetapi pengguna kemudian meluncurkan aplikasi secara manual, aplikasi akan diluncurkan secara normal dan tidak ada argumen hidupkan ulang yang akan diteruskan.
  • Jika aplikasi tidak diluncurkan dengan cara normal, tetapi diluncurkan oleh kontrak berbagi, pemilih file, layanan aplikasi, dan sebagainya, aplikasi tidak boleh memanggil API ini karena pengguna tidak akan mengharapkan perilaku yang dihasilkan.
  • Aplikasi ini bertanggung jawab untuk memastikan validitas objek Pengguna . Aktivasi akan gagal jika ada kebijakan yang mencegah pengguna tersebut menjalankan aplikasi.
  • Aplikasi tidak boleh meminta sesi Extended Execution setelah memanggil API ini karena akan mengakibatkan pengalaman pengguna yang buruk.
  • Jika aplikasi memiliki tugas latar belakang dalam proses yang berjalan saat memanggil API ini, tugas tersebut akan dibatalkan dengan cara normal. Tugas latar belakang di luar proses tidak akan terpengaruh.
  • Saat aplikasi dimulai ulang, LaunchActivatedEventArgs.PreviousExecutionState akan memiliki nilai Dihentikan sehingga aplikasi dapat membedakan antara resume dan restart.

Berlaku untuk

Lihat juga