NullPointerException al iniciar sesión con Facebook SDK y ParseFacebookUtils
Estamos usando Parse SDK y tratando de iniciar sesión con la función de Facebook. Pero no pudimos entenderlo. Obtenemos NullPointerException. ¿Qué hay de malo con nuestra implementación?
Nuestras versiones SDK que utilizamos: Parse SDK 1.10.3 , Facebook SDK 4.7.0 , ParseFacebookUtilsV4-1.10.3
- Cómo guardar varios objetos utilizando la biblioteca PARSE de android
- Analizar la relación entre las clases de usuario y de instalación
- Android: Error com.parse.ParseException: se debe especificar al menos un campo ID (installationId, deviceToken) en esta operación
- Parse para Android no puede pin Lista de subclase a caché
- Parse: ¿Cómo configurar un puntero en Android?
Stacktrace :
11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.login.LoginClient.getLogger(LoginClient.java:363) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.login.LoginClient.logAuthorizationMethodComplete(LoginClient.java:413) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.login.LoginClient.tryNextHandler(LoginClient.java:196) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.login.GetTokenLoginMethodHandler.getTokenCompleted(GetTokenLoginMethodHandler.java:119) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.login.GetTokenLoginMethodHandler$1.completed(GetTokenLoginMethodHandler.java:74) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.internal.PlatformServiceClient.callback(PlatformServiceClient.java:157) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.internal.PlatformServiceClient.handleMessage(PlatformServiceClient.java:141) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.facebook.internal.PlatformServiceClient$1.handleMessage(PlatformServiceClient.java:62) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at android.os.Looper.loop(Looper.java:145) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5834) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) 11-08 15:27:34.507 8983-8983/com.taurus.trolley E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
A continuación, hemos añadido este código a manifiesto.
AndroidManifest.xml:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" />
Añadimos este código a Application # onCreate ().
Aplicación # onCreate ():
// Facebook SDK initializing FacebookSdk.sdkInitialize(getApplicationContext()); // Enable Local Datastore. Parse.enableLocalDatastore(this); Parse.initialize(this, PARSE_APP_ID, PARSE_CLIENT_KEY); ParseFacebookUtils.initialize(this);
El código que proporciona la función de inicio de sesión:
List<String> permissions = Arrays.asList("public_profile", "email"); ParseFacebookUtils.logInWithReadPermissionsInBackground(this, permissions, new LogInCallback() { @Override public void done(ParseUser user, ParseException e) { if (user == null) { Log.d(TAG, "Uh oh. The user cancelled the Facebook login."); } else if (user.isNew()) { Log.d(TAG, "User signed up and logged in through Facebook!"); } else { Log.d(TAG, "User logged in through Facebook!"); } } });
- Android Parse Presione el registro de dispositivo de notificación sólo una vez en un dispositivo
- ¿Cómo se encuentran los ParseRoles actualmente asociados con el ParseUser actual?
- Cómo obtener objectId en Parse.com android
- Cómo obtener la lista de usuarios en el análisis mediante la aplicación de Android
- Cómo verificar el ID del remitente de GCM de deviceToken en Parse.com
- Almacenar varios objetos ParseFile en un único ParseObject
- Cómo eliminar y cerrar sesión analizar usuario actual
- parse.com REST API usando build.phonegap Javascript Push Notifications Android e iOS
Tuve el mismo problema. Después de esperar un rato, funciona perfectamente. Por lo tanto, creo que FB necesidad de hacer algo cuando la primera entrada.
- Utilice IPP (Internet Printing Protocol) o LPR (Line printer Remote) para imprimir el archivo en android
- Cliente-Servidor-Comunicación con php y android