Android:从服务中调用AccountManager.getAuthToken

时间:2011-05-05 14:44:11

标签: android android-account

我在Android中创建一个简单的REST客户端:我创建了一个负责REST调用的服务,但它需要用户名和密码才能运行。 用户名和密码存储在常规帐户注册表中,因此我想要检索服务中的用户名和身份验证令牌。

问题是getAuthToken想要Activity作为参数,但是当我在服务中时,我没有任何Activity通过。有没有一种已知的方法来处理这个问题?或者我做错了,我甚至不应该尝试从服务中访问这些数据?

1 个答案:

答案 0 :(得分:2)

不一定:我之前在服务中使用过http://developer.android.com/reference/android/accounts/AccountManager.html#getAuthToken%28android.accounts.Account,%20java.lang.String,%20boolean,%20android.accounts.AccountManagerCallback%3Candroid.os.Bundle%3E,%20android.os.Handler%29

编辑:世界发生了变化。现在建议使用this。您只需让您的应用程序为LOGIN_ACCOUNTS_CHANGED_ACTION注册一个IntentReceiver,然后您将在用户输入密码时收到该意图。您非常明确地不等待结果:如果他们已经登录或者您被告知需要等待意图,您可以立即获得结果。