1

你好,我有電話認證的火力地堡認證方法的工作,但是當我把這個方法當時PhoneAuthProvider給我的錯誤,並非無法解決符號:PhoneAuthProvider不工作

private void resendVerificationCode(String phoneNumber, 
            PhoneAuthProvider.ForceResendingToken token) { 
    PhoneAuthProvider.getInstance().verifyPhoneNumber(
      phoneNumber,  // Phone number to verify 
      60,     // Timeout duration 
      TimeUnit.SECONDS, // Unit of timeout 
      this,    // Activity (for callback binding) 
      mCallbacks,   // OnVerificationStateChangedCallbacks 
      token);    // ForceResendingToken from callbacks 
} 

我也

PhoneAuthProvider.ForceResendingToken mResendToken; 
PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks; 

我的火力地堡版本,並添加服務文件:〜

compile 'com.google.firebase:firebase-auth:10.0.1' 
classpath 'com.google.gms:google-services:3.0.0' 

那麼如何才能解決這個問題

+0

請發佈錯誤信息。 – bash

+0

@bash它不給我錯誤,但不能解決PhoneAuthProvider的符號錯誤 –

回答

1

你必須初始化callbacks,可能你是,但你沒有共享的代碼。

PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks =new PhoneAuthProvider.OnVerificationStateChangedCallbacks() { 
    @Override 
    public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) { 

    } 

    @Override 
    public void onVerificationFailed(FirebaseException e) { 

    } 
}; 

除非您嘗試重新發送驗證碼。你不需要通過這個verifyPhoneNumber方法。

PhoneAuthProvider.getInstance().verifyPhoneNumber(
     phoneNumber,   
     60,     
     TimeUnit.SECONDS, 
     this,    
     mCallbacks,   
     token); // this token is not needed 

使用此

PhoneAuthProvider.getInstance().verifyPhoneNumber(
     phoneNumber,  // Phone number to verify 
     60,     // Timeout duration 
     TimeUnit.SECONDS, // Unit of timeout 
     this,    // Activity (for callback binding) 
     mCallbacks,   // OnVerificationStateChangedCallbacks 
     ); 

通過這樣做,我收到驗證碼到我的手機。如果需要更多幫助,請分享所有用於電話驗證的代碼。

+0

我使用所有的作爲它的代碼給這個鏈接作爲它的https://github.com/firebase/quickstart-android –

+0

有人可以幫助把這個談話轉移到聊天,我想幫助@HarshitTrivedi – bash