java - Android - logInWithReadPermissionsInBackground 上的 NullPointerException

标签 java android facebook parsing

我尝试从 Parse 使用 Facebook 登录,但遇到问题。

我有这个错误:

05-11 11:12:29.989  14760-14760/com.picmate D/ContextHelper﹕ convertTheme. context->name=com.picmate themeResourceId=2131492865
05-11 11:12:29.998  14760-14760/com.picmate I/PhoneWindow﹕ [generateLayout] setColorNavigationBar => color=0x ff000001
05-11 11:12:30.008  14760-14760/com.picmate D/PhoneWindowEx﹕ [LMJ][PWEx][generateLayout] setNavigationBarColor2 : colors=0xff000000
05-11 11:12:30.008  14760-14760/com.picmate I/PhoneWindow﹕ [setNavigationBarColor2] color=0x ff000000
05-11 11:12:30.029  14760-14793/com.picmate D/OpenGLRenderer﹕ Render dirty regions requested: true
05-11 11:12:30.030  14760-14793/com.picmate I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build:  ()
OpenGL ES Shader Compiler Version: E031.25.03.00
Build Date: 12/12/14 금
Local Branch: LA.BF.1.1_RB1.05.00.00.002.031_20141212_01821442
Remote Branch:
Local Patches:
Reconstruct Branch:
05-11 11:12:30.033  14760-14793/com.picmate I/OpenGLRenderer﹕ Initialized EGL, version 1.4
05-11 11:12:30.061  14760-14793/com.picmate D/OpenGLRenderer﹕ Enabling debug mode 0
05-11 11:12:30.072  14760-14760/com.picmate D/Atlas﹕ Validating map...
05-11 11:12:30.347  14760-14760/com.picmate I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@3c12cf43 time:189759021
05-11 11:12:33.150  14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_DOWN
05-11 11:12:33.207  14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_UP
05-11 11:12:33.254  14760-14760/com.picmate I/Timeline﹕ Timeline: Activity_launch_request id:com.picmate time:189761928
05-11 11:12:33.330  14760-14760/com.picmate D/ContextHelper﹕ convertTheme. context->name=com.picmate themeResourceId=2131492865
05-11 11:12:33.360  14760-14760/com.picmate I/PhoneWindow﹕ [generateLayout] setColorNavigationBar => color=0x ff00000105-11
05-11 11:12:33.361  14760-14760/com.picmate D/PhoneWindowEx﹕ [LMJ][PWEx][generateLayout] setNavigationBarColor2 : colors=0xff000000
05-11 11:12:33.362  14760-14760/com.picmate I/PhoneWindow﹕ [setNavigationBarColor2] color=0x ff000000
05-11 11:12:33.822  14760-14760/com.picmate I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@3e31cc52 time:189762497
05-11 11:12:35.374  14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_DOWN
05-11 11:12:35.441  14760-14760/com.picmate I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_UP
05-11 11:12:35.483  14760-14760/com.picmate D/AndroidRuntime﹕ Shutting down VM
05-11 11:12:35.486  14760-14760/com.picmate E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.picmate, PID: 14760
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
        at com.facebook.login.LoginManager.getLogger(LoginManager.java:391)
        at com.facebook.login.LoginManager.logCompleteLogin(LoginManager.java:414)
        at com.facebook.login.LoginManager.startLogin(LoginManager.java:384)
        at com.facebook.login.LoginManager.logInWithReadPermissions(LoginManager.java:262)
        at com.parse.FacebookAuthenticationProvider.authenticateAsync(FacebookAuthenticationProvider.java:155)
        at com.parse.ParseAuthenticationProvider.logInAsync(ParseAuthenticationProvider.java:50)
        at com.parse.ParseFacebookUtils.logInAsync(ParseFacebookUtils.java:265)
        at com.parse.ParseFacebookUtils.logInWithReadPermissionsInBackground(ParseFacebookUtils.java:161)
        at com.parse.ParseFacebookUtils.logInWithReadPermissionsInBackground(ParseFacebookUtils.java:173)
        at com.picmate.ConnectionActivity$1.onClick(ConnectionActivity.java:46)
        at android.view.View.performClick(View.java:4763)
        at android.view.View$PerformClick.run(View.java:19821)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5274)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704)

我的代码是:

        final Collection<String> permissions = new ArrayList<String>();;

    permissions.add("user_status");
    permissions.add("read_stream");

    findViewById(R.id.btnFB).setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            ParseFacebookUtils.logInWithReadPermissionsInBackground(ConnectionActivity.this, permissions, new LogInCallback() {
                @Override
                public void done(ParseUser user, ParseException err) {
                    if (user == null) {
                        Toast.makeText(ConnectionActivity.this, "Error Sabatie in da place", Toast.LENGTH_SHORT).show();
                    } else if (user.isNew()) {
                        Toast.makeText(ConnectionActivity.this, "Inscription + login", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(ConnectionActivity.this, "login solo", Toast.LENGTH_SHORT).show();
                    }
                }
            });
        }
    });

我在第 46 行的代码是:

  ParseFacebookUtils.logInWithReadPermissionsInBackground(ConnectionActivity.this, permissions, new LogInCallback() {

这个问题我已经解决了两天了,我尝试调试并上网查看,但还没有找到解决方案。

如果有人可以帮助我,请。

最佳答案

我昨天遇到了同样的问题,并花了几个小时试图找出导致 Facebook 的 LoginManager 出现 NullPointerException 的原因。 结果我发现一个答案非常清楚地说明这必须来自 AndroidManifest.xml 中的错误,当您需要精确插入此内容时:

<application>
    ...
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/app_id" />
    ...
    </application>

我的第一行扭曲为 android:name="com.facebook.sdk.ApplicationId" (在 "和 c 之间有一个额外的空格)。 因为我很确定我没有自己输入它,而是从其他地方 c/ced 它,所以我想其他人最终会得到相同的额外空间......

关于java - Android - logInWithReadPermissionsInBackground 上的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163470/

相关文章:

java - OkHttpClient 异步请求的返回值

Android:垂直LinearLayout中的ScrollView

java - 如何在不单击的情况下设置淡入/淡出图像

JAVA:将值从一个类传递到另一个类

java - 如何在JSP中显示内容时检索值

java - 单击按钮滑动到下一个 fragment

java - 单击按钮停止动画

ios - FB token 已过期

iphone - iOS Facebook SDK-获取 friend 的电子邮件

android - 正确使用 Facebook 登入