私は Windows 8.1 Metro アプリに取り組んでいます。このアプリは、Live アカウントで Windows にログインしているユーザーにパーソナライズされたエクスペリエンスを提供します。
Windows で提供されているように、すべてのユーザーは PC 設定 -> アカウントを介して自分のライブ アカウントを PC に接続/切断できます。私の要件は、このイベントで、つまり、ユーザーが自分のライブ アカウントを PC に接続/切断するたびに通知を受けることです。現在、MSDN ページ ( http://msdn.microsoft.com/en-us/library/windows/apps/hh977056.aspx ) に従って、このイベントは OnlineIdConnectedStateChange をトリガーします。トリガーをリッスンするバックグラウンド タスクをアプリに実装することができましたが、問題なく動作しています。接続された Live アカウントで変更が発生するたびに、イベント リスナーが起動されます。しかし、ユーザーが Live アカウントでログインしたのか、既に接続されているアカウントからログアウトしたのかを判断することはできません。
Windows.Security.Authentication.OnlineId.OnlineIdAuthenticator
( Metro アプリ - Live ID またはローカル アカウントでログインしているかどうかを検出する方法) で述べたように使用してみましたが、ユーザーがログインしていない場合、これは認証フローをトリガーします。これは私が望むものではありません。誰かがログインしているかどうかを知りたいだけです。認証フローをトリガーしたくありません。
バックグラウンド タスクで OnlineIdConnectedStateChange イベントが発生したときに、ユーザーのログイン/ログアウト状態を判断する方法はありますか?
助けてくれてありがとう。