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
- Android Parse: No se puede actualizar el usuario local
- Cómo pegar un ParseObject con un ParseFile a Parse Local Datastore en OFFLINE?
- Java.lang.NullPointerException: Intenta invocar el método virtual 'java.io.File com.parse.ParsePlugins.getParseDir ()' en una referencia de objeto nulo
- ¿Cómo analizar enviar push sin registro de gcm?
- Consulta en ParseObject
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!"); } } });
- Recuperar ID de Facebook de authdata en Parse - Android
- Facebook SDK: invalide alcance: información básica use public_profile, amigos de usuario en su lugar
- Subir y guardar el archivo de vídeo mediante la API de análisis no tuvo éxito en Android
- Parse.com deshabilitar la notificación de notificación push
- ParseInstallation.SaveAsync () que causa UnhandledException en formularios Xamarin Android
- Hace ParseImageView cache ParseFile
- Java.util.ConcurrentModificationException al realizar Parse.initialize (this
- Schedulers.io () no vuelve al hilo principal
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