Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Session.openActiveSession sólo llama OPENING en Facebook SDK de Android

Estoy intentando entrar con Facebook usando el Facebook Android SDK, sin embargo, la devolución de llamada de estado se dispara sólo una vez con estado de sesión de OPENING . Después de eso, una actividad de inicio de sesión de Facebook aparece sin contenido (sé que es esa actividad, ya que tiene el título que he establecido para title_facebook_login en strings.xml) por un breve momento y desaparece en un segundo. Ninguna otra devolución de llamada se dispara, no hay excepciones, no se bloquea. Sólo espera para siempre en mi actividad inicial. Aquí está mi código:

 Session.openActiveSession(parent, true, new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { if(state == SessionState.OPENED){ String accessToken = session.getAccessToken(); } } }); 

¿Por qué no se SessionState.OPENED la llamada de llamada para SessionState.OPENED (o CREATED, o incluso CLOSED) pero sólo OPENING?

One Solution collect form web for “Session.openActiveSession sólo llama OPENING en Facebook SDK de Android”

Necesita llamar a OnActivityResult

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); uiHelper.onActivityResult(requestCode, resultCode, data); } 

Así que cuando el inicio de sesión. Se trata de la misma actividad y llamadas de devolución de llamada de estado con estado de sesión se abre

Inicializar UiLifecycleHelper

 private UiLifecycleHelper uiHelper; 

In oncreate necesidad de llamar antes de setContentView

 uiHelper = new UiLifecycleHelper(this, statusCallback); uiHelper.onCreate(savedInstanceState); 

Y necesita mantener sesión en

  @Override protected void onResume() { super.onResume(); uiHelper.onResume(); } @Override protected void onPause() { super.onPause(); uiHelper.onPause(); } @Override protected void onDestroy() { super.onDestroy(); uiHelper.onDestroy(); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.