我正在嘗試在片段中添加 Firebase 電話 OTP 驗證,但我被困在 .setActivity(...) 
在活動中我們使用“this”,但在片段中使用什么?
private fun sendVerificationcode(number: String) {
val options = PhoneAuthOptions.newBuilder(firebaseAuth)
.setPhoneNumber(number) // Phone number to verify
.setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
.setActivity(this) // Activity (for callback binding)
.setCallbacks(mCallBacks) // OnVerificationStateChangedCallbacks
.build()
PhoneAuthProvider.verifyPhoneNumber(options)
}
我也提到了這個 stackoverflow 解決方案,但沒有幫助
uj5u.com熱心網友回復:
您可以在片段中使用任何一個。
requireActivity() //for fragment
getActivity() as Activity // in Kotlin
uj5u.com熱心網友回復:
看起來您的呼叫getActivity()回傳一個可選項,根據定義,它可以為空。該.setActivity()方法不允許傳入空值。getActivity()在繼續之前驗證不會回傳空值。
getActivity().let{ activity ->
val options = PhoneAuthOptions.newBuilder(firebaseAuth)
.setPhoneNumber(number) // Phone number to verify
.setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
.setActivity(activity) // Activity (for callback binding)
.setCallbacks(mCallBacks) // OnVerificationStateChangedCallbacks
.build()
PhoneAuthProvider.verifyPhoneNumber(options)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/471928.html
標籤:安卓 火力基地 firebase 身份验证 android-fragmentactivity
上一篇:Maxifs的陣列公式
