簡體   English   中英

如何設置 Android Firebase 電話身份驗證的回調?

[英]How to set the callbacks for Android Firebase Phone Authentication?

我對 firebase 和 android 有點陌生,然后我在 android firebase phone Auth 中看到了這個新功能。 我正在查看這個文檔Firebase Phone Auth並且我對實現這個 mCallbacks 感到困惑..有人可以指導我嗎?

PhoneAuthProvider.getInstance().verifyPhoneNumber(
                        phoneNum,
                        60,
                        TimeUnit.SECONDS,
                        this,
                        mCallbacks

這讓我很困惑,我不知道應該使用什么數據類型來分配該回調。 由於沒有示例代碼,我希望有人能夠指導我。

我相信這解決了我的問題。

submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String phoneNum = editText.getText().toString();
                Toast.makeText(MainActivity.this, phoneNum, Toast.LENGTH_SHORT).show();
                verifyPhone(phoneNum,mCallBacks);
            }

    });

我試圖制作一種方法來處理單擊的按鈕,我不知道為什么,但它有效..

 public void verifyPhone(String phoneNumber, PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks){
            PhoneAuthProvider.getInstance().verifyPhoneNumber(
                    phoneNumber,        // Phone number to verify
                    60,                 // Timeout duration
                    TimeUnit.SECONDS,   // Unit of timeout
                    this,               // Activity (for callback binding)
                    mCallbacks);        // OnVerificationStateChangedCallbac
        }

您應該使用PhoneAuthProvider.OnVerificationStateChangedCallbacks() 像這樣:

    PhoneAuthProvider.getInstance().verifyPhoneNumber(
            phoneNumber,        // Phone number to verify
            60,                 // Timeout duration
            TimeUnit.SECONDS,   // Unit of timeout
            this,               // Activity (for callback binding)
            new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
                @Override
                public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {

                }

                @Override
                public void onVerificationFailed(FirebaseException e) {

                }
            });

然后你可以覆蓋你需要的其他驗證回調

不要在 verifyPhoneNumber(..) 方法中傳遞“this”,而是嘗試傳遞 Activityname.this

方法 verifyPhoneNumber 中 TimeUnit.SECONDS 的問題您必須替換 import Class TimeUnit 以import java.util.concurrent.TimeUnit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM