2015-03-14 22 views
5

Używam TwitterKit do logowania użytkowników do aplikacji. Używam niestandardowego przycisku w fragmencie i usługi TwitterAuthClient do autoryzowania użytkowników. Szczęśliwy przepływ logowania działa zgodnie z oczekiwaniami.Błąd autoryzacji podczas anulowania z autoryzacji Twittera przy użyciu Fabric SDK

Jednak, kiedy anulować zezwolenie i spróbuj zalogować się ponownie klikając na przycisk logowania, pojawia się następujący błąd:

com.twitter.sdk.android.core.TwitterAuthException: Authorize failed. 

Próbowałem wyczyszczenie aktywnej sesji i wylogowania przed próbą zaloguj się po raz drugi po anulowaniu, ale to nie rozwiązało problemu.

Twitter.getSessionManager().clearActiveSession(); 
Twitter.logOut(); 

Każda pomoc będzie doceniona!

Odpowiedz

3

Może problem polega na tym, że używasz Fragmentu zamiast Aktywności, a Logika przycisku logowania nie może przejść przez jego cykl życia. Nie możesz "odtworzyć" fragmentu, zastępując istniejący, używając Transakcji fragmentów, po anulowaniu autoryzacji.

Nie mogę podać więcej odpowiedzi, ponieważ nie podałeś fragmentu kodu. Być może zapomniałeś dodać metodę onActivityResult? Spróbuj także odpowiedzi na pytania: this i this. Możesz również zadawać pytania na tym forum "twittercommunity.com/c/fabric", ponieważ pomagają tam pracownicy Twittera.

+0

'onActivityResult' był w moim przypadku po wprowadzeniu błędu został naprawiony. – DeltaCap

0

wystarczy wykonać client.cancelAuthorize();, gdy wystąpi awaria.