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:
- Encuentra los amigos de Facebook del usuario que también usan mi aplicación de Android?
- Generar clave de hash para la aplicación utilizando facebook sdk
- Obtener imagen de perfil de Facebook Graph-API
- Facebook Android SDK Sesión openForPublish no crear una nueva sesión
- Inicio de sesión de Facebook: finaliza un error de hash de clave no válido, al intentar iniciar sesión de nuevo
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?
- Obtener el feed de la página de la página pública de Facebook Android
- "No se puede resolver el símbolo` Request` 'error para facebook Graph API
- ¿Es posible tener acceso a la galería de Facebook y dejar que el usuario seleccione una imagen?
- Cordova-plugin-facebook4 mensaje con error de imagen en Android
- Recuperar foto de perfil con Facebook SDK 3.0 para Android
- Cómo abrir la Página de fans de Facebook y comprobar si el usuario le ha gustado
- Parse SDK Android - API de gráficos de Facebook v2.0
- Uso del API de logro de Facebook en Android
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é?