La aplicación se bloquea después del primer inicio de sesión en Facebook
A veces (no muy frecuentemente) mi aplicación androide se bloquea después de iniciar sesión por primera vez en Facebook con Facebook Login (Facebook SDK versión 3.5).
Estoy recibiendo la excepción:
- Cómo enviar solicitudes de aplicaciones a amigos a través de Facebook Android SDK
- Android: Evitar dos inicios de sesión a Facebook (SDK y navegador) al integrar una página "como" botón
- Bibliotecas de Android que realizan login en facebook, complicaciones
- Botón de inicio personalizado de Facebook en el estudio android
- Java / Android: Obtener información de usuario de Facebook desde Graph Api, mostrar en TextView
java.lang.RuntimeException: Unable to resume activity {my.app.package/com.facebook.LoginActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=0, data=null} to activity {my.app.package/com.facebook.LoginActivity}: java.lang.NullPointerException
Con 2 excepciones de raíz diferentes:
A veces con:
java.lang.NullPointerException at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:135)
Y aveces:
Caused by: java.lang.NullPointerException at com.facebook.AuthorizationClient.logAuthorizationMethodComplete(AuthorizationClient.java:519)
En la mayoría de los casos, mi aplicación funciona bien.
¿Alguna idea de lo que puede causar este problema?
EDITAR:
Mi facebook sdk conf en manifiesto:
<activity android:name="com.facebook.LoginActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId" />
Código de actividad:
public class MainActivity extends FragmentActivity { .... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initSession(savedInstanceState); ... } private void initSession(Bundle savedInstanceState) { Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS); Session session = Session.getActiveSession(); if (session == null) { if (savedInstanceState != null) { session = Session.restoreSession(this, null, statusCallback, savedInstanceState); } if (session == null) { session = new Session(this); } Session.setActiveSession(session); if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) { session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback)); } } } @Override public void onStart() { super.onStart(); Session session = Session.getActiveSession(); if (session != null) { session.addCallback(statusCallback); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session session = Session.getActiveSession(); if (session != null) { session.onActivityResult(this, requestCode, resultCode, data); } } @Override public void onStop() { super.onStop(); Session session = Session.getActiveSession(); if (session != null) { session.removeCallback(statusCallback); } } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Session session = Session.getActiveSession(); Session.saveSession(session, outState); } ...
}
También recibí este error con la versión anterior de Facebook SDK. Tengo el último cliente androide de Fb. ¿Alguna ayuda?
- Android Facebook SDK - ¿Cómo iniciar sesión como otro usuario?
- Inicio de sesión de Facebook en el fragmento en android
- Visualización de la imagen del perfil FB en vista de imagen circular en la aplicación
- Cómo agregar una devolución de llamada de cierre de sesión para facebook sdk en android
- Cómo invitar a los amigos de facebook a través de mi aplicación?
- Buscar lista de amigos de facebook sdk 4.0.1 en android con api gráfico 2.2
- Uso de Facebook app_link_hosts La respuesta de la API es 403 permisos de error - Android
- ¿Es posible cargar videos de una tarjeta SD a Facebook con el SDK de Facebook?
Facebook acaba de lanzar v3.5.1 de su SDK de Android ayer que aborda sus problemas. Su registro de cambios no da mucha información sobre lo que salió mal, pero la gente ha estado reportando este error y dijeron que se arreglaría en una versión posterior (fuente) . Pero de todos modos, mirando las diferencias entre v3.5 y v3.5.1 parecen tener código fijo alrededor de las líneas 135 y 519. Echa un vistazo a la lista de cambios en la lista completa. Probablemente sea una buena idea no actualizar a una versión significativa de Facebook hasta que publiquen su primer parche.
Tengo el mismo problema hoy. Parece que Facebook SDK 3.5 puede no ser compatible con los antiguos clientes de Facebook como Facebook 2.1. He actualizado el cliente de Facebook a la última versión y luego funciona.
09-13 17:50:43.592 11372.11372 Bundle W Key com.facebook.platform.protocol.PROTOCOL_VERSION expected String but value was a java.lang.Integer. The default value <null> was returned. 09-13 17:50:43.602 11372.11372 Bundle W Attempt to cast generated internal exception: 09-13 17:50:43.602 11372.11372 Bundle W java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String 09-13 17:50:43.602 11372.11372 Bundle W at android.os.Bundle.getString(Bundle.java:1085) 09-13 17:50:43.602 11372.11372 Bundle W at android.content.Intent.getStringExtra(Intent.java:4826) 09-13 17:50:43.602 11372.11372 Bundle W at com.facebook.AuthorizationClient$KatanaLoginDialogAuthHandler.tryAuthorize(AuthorizationClient.java:821) 09-13 17:50:43.602 11372.11372 Bundle W at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:272) 09-13 17:50:43.602 11372.11372 Bundle W at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:238) 09-13 17:50:43.602 11372.11372 Bundle W at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:161) 09-13 17:50:43.602 11372.11372 Bundle W at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:142) 09-13 17:50:43.602 11372.11372 Bundle W at com.facebook.LoginActivity.onResume(LoginActivity.java:117) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1282) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.Activity.performResume(Activity.java:5287) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3211) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3266) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2579) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.ActivityThread.access$600(ActivityThread.java:162) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1413) 09-13 17:50:43.602 11372.11372 Bundle W at android.os.Handler.dispatchMessage(Handler.java:99) 09-13 17:50:43.602 11372.11372 Bundle W at android.os.Looper.loop(Looper.java:158) 09-13 17:50:43.602 11372.11372 Bundle W at android.app.ActivityThread.main(ActivityThread.java:5789) 09-13 17:50:43.602 11372.11372 Bundle W at java.lang.reflect.Method.invokeNative(Native Method) 09-13 17:50:43.602 11372.11372 Bundle W at java.lang.reflect.Method.invoke(Method.java:525) 09-13 17:50:43.602 11372.11372 Bundle W at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 09-13 17:50:43.602 11372.11372 Bundle W at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:843) 09-13 17:50:43.602 11372.11372 Bundle W at dalvik.system.NativeStart.main(Native Method) 09-13 17:50:43.803 11372.11372 AndroidRuntime E FATAL EXCEPTION: main 09-13 17:50:43.803 11372.11372 AndroidRuntime E java.lang.RuntimeException: Unable to resume activity {com.mycomp.myapp/com.facebook.LoginActivity}: java.lang.NullPointe rException 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3228) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3266) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2579) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4258) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.access$700(ActivityThread.java:162) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1419) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.os.Handler.dispatchMessage(Handler.java:99) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.os.Looper.loop(Looper.java:158) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.main(ActivityThread.java:5789) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at java.lang.reflect.Method.invokeNative(Native Method) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at java.lang.reflect.Method.invoke(Method.java:525) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:843) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at dalvik.system.NativeStart.main(Native Method) 09-13 17:50:43.803 11372.11372 AndroidRuntime E Caused by: java.lang.NullPointerException 09-13 17:50:43.803 11372.11372 AndroidRuntime E at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:135) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at com.facebook.LoginActivity.onResume(LoginActivity.java:117) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1282) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.Activity.performResume(Activity.java:5287) 09-13 17:50:43.803 11372.11372 AndroidRuntime E at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3211) 09-13 17:50:43.803 11372.11372 AndroidRuntime E ... 13 more
Recientemente, tengo el mismo problema, sin embargo, actualizar el sdk de facebook a la versión 3.5.2 de https://github.com/facebook/facebook-android-sdk y cualquier problema sobre loggining se han resuelto.
- Café exprés. Error al ejecutar 'datos del adaptador de carga'
- Emulador Android aún lento como el infierno, incluso con la imagen de Intel, ¿por qué?