如何设置Android Firebase Phone身份验证的回调?

时间:2017-06-08 01:09:58

标签: android firebase firebase-authentication

我有点新的firebase和android然后我看到这个新功能在android firebase手机Auth。我正在看这个doucumentation Firebase Phone Auth,我对实现这个mCallbacks很困惑..有人可以指导我吗?

TreeNodeCollection

这让我很困惑,我不知道应该使用哪种数据类型来分配回调。由于没有示例代码,我希望有人能指导我。

4 个答案:

答案 0 :(得分:2)

我相信这解决了我的问题。

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
        }

答案 1 :(得分:0)

您应该使用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) {

                }
            });

然后你可以覆盖你需要的其他Verification callbacks

答案 2 :(得分:0)

而不是传递"这个"在verifyPhoneNumber(..)方法内,尝试传递Activityname.this

答案 3 :(得分:0)

方法verifyPhoneNumber中TimeUnit.SECONDS处的问题 您必须替换导入的Class TimeUnit 至 导入java.util.concurrent.TimeUnit