Jestem nowy na Androida. Obecnie próbuję wdrożyć autoryzację telefonów Firebase w moim projekcie Kotlin. Zauważyłem, że coś się dzieje, czekając na wywołanie zwrotne (czarny bar animuje z góry ekranu). Nie robię tego w moim kodzie i nie mam pojęcia, jak się go pozbyć. Jakieś pomysły, co powinienem zrobić?

enter image description here

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.a9ts.a9ts.databinding.RegisterBinding
import com.google.firebase.FirebaseException
import com.google.firebase.auth.*
import org.jetbrains.anko.toast
import java.util.concurrent.TimeUnit

class Register : AppCompatActivity() {
    private lateinit var binding : RegisterBinding
    private lateinit var callbacks: PhoneAuthProvider.OnVerificationStateChangedCallbacks

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding = RegisterBinding.inflate(layoutInflater)
        setContentView(binding.root)

        binding.buttonNext.setOnClickListener {
            val phoneNumber = binding.editTextPhoneNumber.text.toString().trim()
            if (phoneNumber.isEmpty())
            {
              binding.editTextPhoneNumber.setError("Number is required!")
              binding.editTextPhoneNumber.requestFocus()
            } else {
              startPhoneNumberVerification(phoneNumber)
            }
        }

        callbacks = object : PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
            override fun onVerificationCompleted(credential: PhoneAuthCredential) {
                toast("Success!")
            }

            override fun onVerificationFailed(e: FirebaseException) {
                toast("onVerificationFailed")
            }

            override fun onCodeSent(verificationId: String,token: PhoneAuthProvider.ForceResendingToken) {
                toast("SMS Code sent: $verificationId")
            }
        }
    }

    private fun startPhoneNumberVerification(phoneNumber: String) {
        PhoneAuthProvider.getInstance().verifyPhoneNumber(
            phoneNumber, // Phone number to verify
            60, // Timeout duration
            TimeUnit.SECONDS, // Unit of timeout
            this, // Activity (for callback binding)
            callbacks) // OnVerificationStateChangedCallbacks
    }
}```
1
Robert Veres 29 październik 2020, 11:27

1 odpowiedź

Najlepsza odpowiedź

Nie jestem pewien, co powoduje zachowanie jako takie, ale wraca do BOM 25.12.0 rozwiązany problem.

//implementation platform('com.google.firebase:firebase-bom:26.0.0')
implementation platform('com.google.firebase:firebase-bom:25.12.0')
0
Robert Veres 29 październik 2020, 20:11