2015-11-08 49 views
5

Parse SDKを使用していて、Facebookの機能でログインしようとしています。しかし、私たちはそれを理解できませんでした。私たちはNullPointerExceptionを取得します。私たちの実装に何が問題なのですか?私たちが使用Facebook SDKとParseFacebookUtilsでログインするとNullPointerExceptionが発生する

当社のSDKのバージョン: 解析SDK 1.10.3FacebookのSDK 4.7.0ParseFacebookUtilsV4-1.10.3

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) 

以下に、このコードを追加してマニフェストしました。

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

我々は、アプリケーション#のonCreate()メソッドに以下のコードを追加しました。

アプリケーション#の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); 

ログイン機能を提供するコード:

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!"); 
      } 
     } 
    }); 
+0

私は同じ問題に直面している – seema

答えて

0

私は同じ問題がありました。しばらく待って、それは完璧に動作します。だから、私は初回ログイン時にFBが何かをする必要があると思います。

関連する問題