Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Android Firebase手机身份验证设置回调?_Android_Firebase_Firebase Authentication - Fatal编程技术网

如何为Android Firebase手机身份验证设置回调?

如何为Android Firebase手机身份验证设置回调?,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我对firebase和android有点陌生,然后我在android上看到了firebase手机认证的新功能。我在看这份文件,对实现这份McCallbacks感到困惑。。有人能指引我吗? 让我困惑的是,我不知道应该使用什么数据类型来分配回调。由于没有示例代码,我希望有人能够指导我。您应该使用PhoneAuthProvider.OnVerificationStateChangedCallbacks()。像这样: PhoneAuthProvider.getInstance().verify

我对firebase和android有点陌生,然后我在android上看到了firebase手机认证的新功能。我在看这份文件,对实现这份McCallbacks感到困惑。。有人能指引我吗?


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

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

                }
            });

然后你就可以覆盖你需要的另一个了。

我相信这解决了我的问题

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);
            }

    });
我尝试了一种方法来处理点击的按钮,我不知道为什么,但它奏效了。。


尝试传递Activityname,而不是在verifyPhoneNumber(..)方法中传递“this”。这将在verifyPhoneNumber方法中的TimeUnit.SECONDS处解决问题 必须替换导入类时间单位 到
导入java.util.concurrent.TimeUnit

它给了我一个错误,无法解析verifyphonenumberDo你碰巧有一个android firebase phoneuth的示例代码吗?也给了我同样的错误。与上述代码相同。此处也存在相同错误
未找到适用于verifyPhoneNumber的方法
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
        }