0

私はFirebase電話認証を使用してKotlinアプリケーションを開発しています。私はこのverifyphonenumberの実装に混乱しています。コード上およびエラーを取得(「以下の機能のいずれが供給arugumentsと呼ばれることができない」)、また、「拡張機能PhoneAuthProviderを作成?.verifyPhoneNumber」が実現KotlinでFirebaseを使用して電話機認証を実装する方法は?

private fun startPhoneNumberVerification(phoneNumber: String, mCallbacks: PhoneAuthProvider.OnVerificationStateChangedCallbacks?) { 
    Log.d("phoneNumber==", "" + phoneNumber); 
    PhoneAuthProvider.getInstance().verifyPhoneNumber(
      phoneNumber,  // Phone number to verify 
      60,     // Timeout duration 
      TimeUnit.SECONDS, // Unit of timeout 
      [email protected],    // Activity (for callback binding) 
      mCallbacks) 
} 

。誰か私を導くことができますか?

+0

を作品

lateinit var mCallbacks: PhoneAuthProvider.OnVerificationStateChangedCallbacks 

としてそれを宣言し、のonCreateでこれを初期化しますと、コールバックがnullではないと確信していますので、? –

+0

@PeterHaddadが更新されました。あなたは確認していただけますか? –

+0

タイムアウトは 'long'なので、' 60'はおそらく '60L'です。 – Michael

答えて

1

私はFirebaseコールバックパラメータが非ナルとして注釈されていると仮定しています。

TL; DR:コールバックパラメータから?を削除するか、nullのときはno-opを削除して、Kotlinが魔法の型推論を行うことができます。

+0

ニース。ありがとうございました –

+0

素晴らしいです、アップアップして答えを正しいとマークしてもよろしいですか?ありがとう! – SUPERCILEX

-1
class MainActivity : AppCompatActivity() { 

    var fbAuth = FirebaseAuth.getInstance() 


    override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(R.layout.activity_main) 

     var btnLogin = findViewById<Button>(R.id.btnLogin) 
     btnLogin.setOnClickListener {view -> 
      signIn(view,"[email protected]", "pass") 
     } 
    } 

    fun signIn(view: View,email: String, password: String){ 
     showMessage(view,"Authenticating...") 

     fbAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this, OnCompleteListener<AuthResult> { task -> 
      if(task.isSuccessful){ 
       var intent = Intent(this, LoggedInActivity::class.java) 
       intent.putExtra("id", fbAuth.currentUser?.email) 
       startActivity(intent) 

      }else{ 
       showMessage(view,"Error: ${task.exception?.message}") 
      } 
     }) 

    } 

    fun showMessage(view:View, message: String){ 
     Snackbar.make(view, message, Snackbar.LENGTH_INDEFINITE).setAction("Action", null).show() 
    } 

} 
0

あなたはこれが私のためにエラーが何であるかを

関連する問題