android - 解析facebook登录空指针异常

标签 android facebook parse-platform nullpointerexception

我正在尝试在我的 andorid 应用程序上使用 parse 登录 facebook,但出现以下错误:

08-28 21:24:34.441 10524-10524/com.example.hristijan.likeout E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.hristijan.likeout, PID: 10524 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:150) at com.parse.ParseAuthenticationProvider.logInAsync(ParseAuthenticationProvider.java:57) at com.parse.ParseFacebookUtils.logInAsync(ParseFacebookUtils.java:259) at com.parse.ParseFacebookUtils.logInWithReadPermissionsInBackground(ParseFacebookUtils.java:155) at com.parse.ParseFacebookUtils.logInWithReadPermissionsInBackground(ParseFacebookUtils.java:167) at com.example.hristijan.likeout.MainActivity.facebookLogin(MainActivity.java:74) at com.example.hristijan.likeout.MainActivity$3.onClick(MainActivity.java:67) 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)

代码如下:

ParseFacebookUtils.logInWithReadPermissionsInBackground(this, null, new LogInCallback() {
        @Override
        public void done(ParseUser user, ParseException e) {
            if (user == null) {
                //Canceled fb connection
                Toast.makeText(getApplicationContext(), "CANCEL", Toast.LENGTH_LONG).show();
            } else if (user.isNew()) {
                //Registered with fb
                Toast.makeText(getApplicationContext(), "REGISTERED", Toast.LENGTH_LONG).show();
            } else {
                //Logged in with fb
                Toast.makeText(getApplicationContext(), "LOGGED IN", Toast.LENGTH_LONG).show();
            }
        }
    });

最佳答案

我遇到了同样的问题,要解决这个问题,您需要将其添加到您的 androidmanifest.xml 中,您可以在您的应用仪表板上获取 facebook_app_id

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

之后我还需要添加 FacebookActivity

    <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" />

请记住将这些行放在 application 标记内。

找到解决方案 here

关于android - 解析facebook登录空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32278480/

相关文章:

swift - 解析 SDK Swift isParseReachable

java - 从 Activity 的 onCreate 中已运行的服务获取数据

Android 内容提供程序 IllegalArgumentException 未知 URL 内容

facebook - 从 Facebook 广告管理工具中删除转化跟踪像素

ruby-on-rails - rails : How to post a file via HTTP as multipart/form-data to Facebook?

android - parse.com 的多个推送提供商

ios - Facebook 登录问题 iOS9 + Parse

android - PendingIntent 中的 TaskStackBuilder 不工作

Android Studio 底部导航栏 : How do I add to each fragment?

ios - 如何检查 Google/Facebook 帐户是否已用于在 Firebase Auth 上创建帐户