2013-06-26 4 views
2

나는 AbstractAccountAuthenticator를 확장하고 getAuthToken을 대체했습니다. 캐싱 된 authtoken이 유효한 경우를 제외하고는 모두 getAuthToken에서 잘 작동합니다.이 경우 getAuthToken을 호출하지 않고 AccountManagerCallback (signinCallback)이 호출됩니다. 이것은 내 getAuthToken이 앱 특정 데이터로 반환 번들을로드하기 때문에 문제가된다. 캐시 된 authtoken이 유효하지만 콜백으로 곧바로 넘어갈 때 사용자 정의 getAuthToken이 호출되지 않음

는 계정 관리자 호출은 내가 사용된다

`signinFuture = mAM.getAuthToken(account, getApplicationContext().getString(R.string.ACCOUNT_TYPE), null, SignInFragmentActivity.this, signinCallback, null);` 

이 당신이 기대 또는 관리자가 getAuthToken 항상 내 인증 재정의 전화를 차지한다 무엇인가? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1

조금 늦었지만, 여기에서 나를 데려온 Google 검색을 통해 비슷한 것을 찾고 있었기 때문에이 대답을 문서화했습니다.

안드로이드 문서 자세히 연구는 getAuthToken 만

올바른 접근 방식은 귀하의 응용 프로그램 관련 데이터를 저장하는 것입니다 (호출의 결과에 따라) 키의 세 세트를 반환하도록되어 분명하게 UserData 번들은 AccountManager를 사용하여 명시 적으로 계정을 만들고 유효한 인증 토큰을 얻은 후에 검색 할 때 사용합니다.

자세한 내용은 http://developer.android.com/reference/android/accounts/AccountManager.html을 참조하십시오.