这是Firebase PhoneNumberAuthentication的kotlin代码
https://github.com/firebase/quickstart-android/blob/master/auth/app/src/main/java/com/google/firebase/quickstart/auth/kotlin/PhoneAuthActivity.kt
此方法“ PhoneAuthProvider.getInstance()。verifyPhoneNumber” 给我错误“以下任何函数都不能通过提供的参数调用” ,并提示我通过以下方法创建新函数说创建扩展功能PhoneAuthProvider.verifyPhoneNumber 。这是多余的,因为此方法是“ com.google.firebase.auth。*” 的一部分。
错误详细信息:
None of the following functions can be called with the arguments supplied:
public final fun verifyPhoneNumber(@NonNull p0: String, p1: Long, p2: TimeUnit!, @NonNull p3: (Runnable!) -> Unit, @NonNull p4: PhoneAuthProvider.OnVerificationStateChangedCallbacks):
Unit defined in com.google.firebase.auth.PhoneAuthProvider
代码:
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phoneNumber, // Phone number to verify
60, // Timeout duration
TimeUnit.SECONDS, // Unit of timeout
applicationContext, // Activity (for callback binding)
mCallbacks
)
此代码在Java中工作正常。
有什么想法吗。我该怎么办。谢谢
答案 0 :(得分:0)
此代码中的问题是,我正在初始化带有null的firebase字段,这是Lateinit所需要的。因此,通过删除null初始化,它可以正常工作。
答案 1 :(得分:0)
如果您要分段获取,请确保将this
更改为requireActivity()
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phoneNumber, // Phone number to verify
60, // Timeout duration
TimeUnit.SECONDS, // Unit of timeout
requireActivity(), // Activity (for callback binding)
callbacks) // OnVerificationStateChangedCallbacks