Windows 通用 - 如何检查用户是否已登录到Microsoft帐户

Windows Universal - How to check if user is signed into Microsoft Account?

本文关键字:是否 用户 登录 帐户 Microsoft 检查 通用 何检查 Windows      更新时间:2023-10-16

是否有一种可接受的方法来判断用户是否使用Microsoft帐户而不是本地帐户登录到 Windows 通用应用?

我正在尝试实施应用内购买,如果从本地帐户调用 CurrentApp::GetUnfulfilledConsumables((,我遇到了障碍。将引发异常,并显示消息"特定帐户不存在"。

网络上的一些人正在使用 Live SDK 尝试初始化用户的凭据,这对于非Microsoft帐户来说会失败。通过这种方式,他们有一种迂回的方式来确定用户是否已登录。(https://social.msdn.microsoft.com/Forums/en-US/f6946851-b495-45f6-95a4-eb3c2a004c0e/live-sdk-v53-how-to-tell-the-difference-between-a-user-logged-in-with-a-microsoft-account-and?forum=messengerconnect(

但我想知道是否有一种更好、更干净的方法来检测用户是否登录到Microsoft帐户或本地帐户,而无需仅为一个函数调用集成整个 SDK。

感谢您的帮助。

不幸的是,答案是您需要将调用放在try ... catch中以捕获异常,然后查看exception->HResult以确认它是"特定帐户不存在"异常。(并重新抛出其他任何内容。