2017-11-14 4 views
0

임 중포 기지의 새로운 나는 처음으로 페이스 북의 인증을 구현하고자합니다. 페이스 북 토큰을 성공적으로 얻을 수 있지만 signInWithCredential()을 호출하면이 예외가 throw됩니다.페이스 북 로그인 성공하지만, 중포 기지 인증을 던져 예외

의해 발생 : java.lang.NullPointerException이 : 시도 가상 방법 '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 매개 변수가 없습니다. signInWithCredidental() 메서드는이 예외를 throw합니다. – 6155031

답변

2

Google Play 서비스가 설치되어 있어야합니다. 에뮬레이터에서 테스트 중이라고 가정합니다. 실제 장치에서 테스트 시도하거나 당신이 GPS가 에뮬레이터에 설치되어 있는지 확인

+0

에뮬레이터에서 테스트 할 때 동일한 오류가 발생했습니다. –