User.NonRoamableId プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ユーザーのローミング不可能な ID を取得します。
public:
property Platform::String ^ NonRoamableId { Platform::String ^ get(); };
winrt::hstring NonRoamableId();
public string NonRoamableId { get; }
var string = user.nonRoamableId;
Public ReadOnly Property NonRoamableId As String
プロパティ値
ユーザーのローミング不可能な ID。
例
この例では、アプリが中断されたときに NonRoamableId を保存し、アプリがアクティブ化されたときに NonRoamableId を取得する方法を示します。 その後、NonRoamableId を使用して、現在のユーザーとして設定されている User オブジェクトを取得します。 このコードは App.xaml.cs に配置され、余分なコードは削除されました。
User ActiveUser = null;
protected async override void OnLaunched(LaunchActivatedEventArgs e)
{
// ... code removed ...
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
//TODO: Load state from previously suspended application
var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
if (localSettings.Values.ContainsKey("previousUser"))
{
var previousId = (string)localSettings.Values["previousUser"];
ActiveUser = User.GetFromId(previousId);
}
else
{
IReadOnlyList<User> users = await Windows.System.User.FindAllAsync();
ActiveUser = users[0];
}
}
// ... code removed ...
}
private void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
//TODO: Save application state and stop any background activity
// If the user is authenticated and not a guest, save the
// NonRoamableId so we can retrieve this specific user later.
var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
if (ActiveUser != null &&
(ActiveUser.AuthenticationStatus != UserAuthenticationStatus.Unauthenticated) &&
(ActiveUser.Type == UserType.LocalUser || ActiveUser.Type == UserType.RemoteUser))
{
localSettings.Values.Add("previousUser", ActiveUser.NonRoamableId);
}
else
{
if (localSettings.Values.ContainsKey("previousUser"))
{
localSettings.Values.Remove("previousUser");
}
}
deferral.Complete();
}
注釈
マルチユーザー アプリでは、アプリが非アクティブ化または中断される前に、アプリが操作していたユーザーを覚えておく必要がある場合があります。 NonRoamableId を保存してから、キーとして使用して、アクティブ化時にもう一度ユーザー オブジェクトを取得できます (「User.GetFromId」を参照)。
ユーザー オブジェクトの NonRoamableId は、デバイス、アプリ、ユーザーに固有の文字列です。 他のデバイスや他のアプリにローミングすることはできません。 さらに、ユーザーがリモートでログインし、User.Type 値が異なる場合、NonRoamableId は異なります。