gpt4 book ai didi

c# - Xamarin.Auth:更新应用程序时不会保留帐户数据

转载 作者:行者123 更新时间:2023-11-30 15:31:59 25 4
gpt4 key购买 nike

我正在使用 Xamarin.Auth 对 foursquare 等服务进行身份验证。我的身份验证代码一切正常,问题是当我部署新版本的应用程序时,帐户数据不会保留 - 每次我在手机上部署测试版本时,我都必须重新进行身份验证。

这是我存储帐户的方式;

  /// <summary>
/// Stores the account.
/// </summary>
private void StoreAccount(AuthenticatorCompletedEventArgs eventArgs)
{
if (!eventArgs.IsAuthenticated) // make sure we are authenticated.
{
Log.Debug(Logging.AppTag, "FourSquareClient can't store account as auth. is cancelled. ");
return;
}

this.IsAuthenticated = true;
this.Account = eventArgs.Account;

AccountStore.Create(this.OwnerContext).Save(eventArgs.Account, "Foursquare");
}

这是我检查我们是否有存储帐户的方法;

 /// <summary>
/// Retrieves stored account.
/// </summary>
private void RetrieveAccount()
{
if (this.IsAuthenticated)
{
Log.Debug(Logging.AppTag, "FourSquareClient is already authenticated! ");
return;
}


var accounts = AccountStore.Create(this.OwnerContext).FindAccountsForService("Foursquare");
var enumerable = accounts as IList<Account> ?? accounts.ToList();

if (enumerable.Any())
{
Log.Info(Logging.AppTag, "Foursquareclient found account data.");
this.IsAuthenticated = true;
this.Account = enumerable.First();
}
else
{
Log.Info(Logging.AppTag, "Foursquareclient no account data found!");
this.IsAuthenticated = false;
this.Account = null;
}
}

最佳答案

默认行为是在每次部署应用程序时重置您的 Android 设置。为了防止这种情况,在 Xamarin Studio --> Preferences --> Android --> 选中“Preserve data/cache between application deploys”

如果您使用的是 Visual Studio,应该有类似的设置。

关于c# - Xamarin.Auth:更新应用程序时不会保留帐户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com