是否有可接受的方式来判断用户是否使用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。
感谢您的帮助。
答案 0 :(得分:1)
不幸的是,答案是您需要将调用置于try ... catch
内以捕获异常,然后查看exception->HResult
以确认它是“特定帐户不存在”例外。 (并重新抛出其他任何东西。)