我有一个auth令牌保存到AccountManager中,但是,当我执行peekAuthToken(account,authTokenType)时,它返回null。我的呼叫者uid是相同的,帐户确实存在于帐户管理器中。我的清单文件中也有android.permission.AUTHENTICATE_ACCOUNTS。
答案 0 :(得分:1)
所以在这种情况下,调用peekAuthToken将毫无意义。
如果你想运行peekAuthToken,在返回令牌之前手动检查一些东西,尝试在 account-authenticator xml文件中添加 android:customTokens =“true”。
答案 1 :(得分:0)
AccountManager.peekAuthToken
将返回null
的可能情况:
account
中存储的account manager与提供的内容不匹配。authTokenType
。提供的帐户已存在,但其authTokenType
与给定的帐户不匹配。
最后,没有为提供的account
,authTokenType
)对缓存身份验证令牌。
对于android:customToken=true
的身份验证者,您应提供包含到期时间的非负KEY_CUSTOM_TOKEN_EXPIRY
long
值,以毫秒为单位。
如果android:customTokens=false
,令牌会无限期缓存,直到某些客户调用invalidateAuthToken