0

我正在创建一个Windows 8.1应用程序,我想将它用于多个帐户。当我第一次启动应用程序时,我使用wl.signin作用域来更快地测试应用程序,但我想现在用其他帐户进行测试。所以我删除了这个范围,我从我的电脑上卸载了应用程序,并从我的真实帐户中删除了应用程序权限。使用Live SDK登录Microsoft帐户

但是,如果我想第一次登录,应用程序想要自动登录的权限(== wl.signin,我已经从我的范围中删除,就像我之前提到的那样)。

基本上,我想实现每次我想要使用该应用程序时编写我的用户凭据,以便我可以用其他帐户登录。

这里是登录代码:

LiveLoginResult result = await App.Auth.InitializeAsync(new string[] { "wl.basic" }); 
if (result.Status != LiveConnectSessionStatus.Connected) 
    result = await App.Auth.LoginAsync(new string[] { "wl.basic" }); 

if (result.Status == LiveConnectSessionStatus.Connected) 
{ 
    await App.MobileService.LoginWithMicrosoftAccountAsync(
     result.Session.AuthenticationToken); 
    App.Lcs = result.Session;      
} 
else 
{ 
    await dialogService.ShowMessage("Not logged in.", "Error!"); 
} 

如果我尝试注销时,CanLogout总是false值返回。

if (App.Auth.CanLogout) 
{ 
    App.Auth.Logout(); 
    navigationService.NavigateTo("MainPage"); 
} 

我在这里错过了什么?也许范围缓存在别的地方?如果我在Microsoft帐户中使用操作系统,那会是一个问题吗?或者,如果我将应用与Visual Studio的应用关联在一起?

回答

2

LiveSdk无法实现。因为LiveSdk使用来自系统的帐户信息。一次使用少量帐户的唯一方法是通过LIVE REST API开发自己的SDK(如在LiveSDK内部)。

相关问题