Почему мое приложение перестает работать, как только я получаю SMS с подтверждением с помощью FirebaseAuth? - PullRequest
0 голосов
/ 20 января 2020

Я учусь использовать FirebaseAuth, используя онлайн-учебник. Я мог успешно получить код подтверждения с помощью SMS, но как только я получил SMS, приложение перестало работать. Не могли бы вы помочь мне.

Я работаю над Android Studio, и я кодирую в Kotlin.

Вот мой код,

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

    mAuth = FirebaseAuth.getInstance()

    phoneNumber = findViewById(R.id.etxPhoneNumber)
    code = findViewById(R.id.etxCode)


    btnCode.setOnClickListener { view: View? ->
        progress.visibility = View.VISIBLE
        verify()
    }


}

private fun verificationCallbacks() {
    mCallbacks = object : PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
        override fun onVerificationCompleted(credential: PhoneAuthCredential) {


            progress.visibility = View.INVISIBLE
            signIn(credential)
        }

        override fun onVerificationFailed(p0: FirebaseException) {

        }

        override fun onCodeSent(p0: String, p1: PhoneAuthProvider.ForceResendingToken) {
            super.onCodeSent(p0, p1)
        }

    }
}

private fun verify() {
    verificationCallbacks()
    val phoneNo = etxPhoneNumber.text.toString()
    PhoneAuthProvider.getInstance().verifyPhoneNumber(

        phoneNo,
        60,
        TimeUnit.SECONDS,
        this,
        mCallbacks


    )
}


private fun signIn(credential: PhoneAuthCredential) {
    mAuth.signInWithCredential(credential)
        .addOnCompleteListener { task: Task<AuthResult> ->
            if (task.isSuccessful) {
                toast("Logged in successfully")
                startActivity(Intent(this, MainActivity::class.java))
            }

        }

}

Кажется вроде проблема не решена. Ниже приводится Logcat (ошибка).

2020-01-25 10:37:08.228 7511-7511/? E/Zygote: v2 2020-01-25 10:37:08.231 7511-7511/? E/Zygote: accessInfo : 0 2020-01-25 10:37:08.489 7511-7511/com.example.testapp E/FontFamily: Error mapping font file /data/data/com.android.settings/app_fonts/Cooljazz/DroidSans.ttf 2020-01-25 10:37:08.489 7511-7511/com.example.testapp E/FontFamily: Error mapping font file /data/data/com.android.settings/app_fonts/Cooljazz/DroidSans-Bold.ttf 2020-01-25 10:37:08.715 7511-7511/com.example.testapp E/ViewRootImpl@4d50979[MainActivity]: ViewRootImpl #2 Surface is not valid. 2020-01-25 10:37:11.915 7511-7511/com.example.testapp E/BoostFramework: BoostFramework() : Exception_1 = java.lang.ClassNotFoundException: Didn't find class "com.qualcomm.qti.Performance" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib64, /vendor/lib64]] 2020-01-25 10:37:11.987 7511-7511/com.example.testapp E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.testapp, PID: 7511
    java.lang.IllegalArgumentException: Given String is empty or null
        at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)
        at com.google.firebase.auth.PhoneAuthProvider.verifyPhoneNumber(com.google.firebase:firebase-auth@@19.2.0:7)
        at com.example.testapp.SignIn.verify(SignIn.kt:70)
        at com.example.testapp.SignIn.access$verify(SignIn.kt:19)
        at com.example.testapp.SignIn$onCreate$1.onClick(SignIn.kt:41)
        at android.view.View.performClick(View.java:6205)
        at android.widget.TextView.performClick(TextView.java:11103)
        at android.view.View$PerformClick.run(View.java:23653)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6682)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...