2017-11-14 6 views
0

Firebaseの新しいものです。私はfacebook authを初めて実装したいと思います。 facebookトークンを正常に取得できますが、signInWithCredential()を呼び出すとこの例外がスローされます。 java.lang.NullPointerExceptionが:によって引き起こさFacebookのログインは成功しましたが、firebase auth throw例外はありません。

仮想 メソッドを起動しようと「com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb( com.google.android.gms.common.api.internal.zzdf「)nullオブジェクト参照

上 ここに私のソースコードの任意の提案のための

public class LoginActivity extends AppCompatActivity { 

    private CallbackManager callbackManager; 
    private FirebaseAuth mAuth; 
    private String TAG = "Test"; 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mAuth = FirebaseAuth.getInstance(); 
     callbackManager = CallbackManager.Factory.create(); 

     LoginButton loginButton = (LoginButton) findViewById(R.id.login_button); 
     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 

       handleFacebookAccessToken(loginResult.getAccessToken()); 


      } 

      @Override 
      public void onCancel() { 


      } 

      @Override 
      public void onError(FacebookException e) { 

      } 
     }); 

    } 

    private void handleFacebookAccessToken(AccessToken token) { 

     AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken()); 
     mAuth.signInWithCredential(credential) 
       .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 
         if (task.isSuccessful()) { 

          FirebaseUser user = mAuth.getCurrentUser(); 

         } else { 

         } 

        } 
       }); 
    } 

    @Override 
    public void onStart() { 
     super.onStart(); 
     FirebaseUser currentUser = mAuth.getCurrentUser(); 

    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     callbackManager.onActivityResult(requestCode, resultCode, data); 
    } 
} 

のおかげです。

+0

いいえ。資格情報には値があります。このようにzzlyx = "..." – 6155031

+0

nullパラメータはありません。 signInWithCrediental()メソッドはこの例外をスローします。 – 6155031

答えて

2

Google Playサービスがインストールされている必要があります。私はあなたがエミュレータでそれをテストしていると思います。実際のデバイスでテストしてみるか、エミュレータにGPSをインストールしてください。

+0

エミュレータでテストしていたときに同じエラーが発生しました –

関連する問題