我遇到的根本问题是我想使用令牌发出webservice API请求。通过使用电子邮件/密码命中auth端点来获取令牌。令牌具有到期时间,因此为了使Android应用程序顺利执行,只要令牌无效,就会刷新令牌,而无需用户交互。
我一直在寻求的解决方案是使用AccountManager(http://developer.android.com/reference/android/accounts/AccountManager.html)来存储电子邮件/密码和令牌。问题是要实例化AccountManager,我需要传递一个Context(AccountManager.get(context)
)。 API请求发生的大部分位于上下文不可用的位置,例如AsyncTasks或singleton manager类。通过上下文是一个混乱的前景,并不总是可能。
有没有办法让我可以使用AccountManager?或者我是否需要以完全不同的方式管理和刷新我的身份验证令牌?我假设我需要存储用户在电话上加密的电子邮件/密码,但这可能是不可能的。我想知道最佳做法是什么。