【发布时间】:2020-03-28 11:45:16
【问题描述】:
我已经在 Firebase 上创建了一个 Android 项目并注册了应用程序,现在我没有收到来自 Firebase 的消息我已经将 Jason 文件放在了 app 文件夹中 我也启用了 Firebase 中的电话身份验证 请帮我解决错误。
错误
I/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms:
com.google.firebase.auth.api.internal.zzaq@a1576ff
D/vrification failes: asdddddddddddddddddddddddddddddddddddd`
我的代码
findViewById(R.id.bt1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendVerificationCode();
}
});
findViewById(R.id.bt2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
verifySignInCode();
}
});
}
private void verifySignInCode(){
String code=et2.getText().toString().trim();
PhoneAuthCredential credential=PhoneAuthProvider.getCredential(codesent,code);
signInWithAuthCredential(credential);
}
private void signInWithAuthCredential(PhoneAuthCredential credential){
mAuth.signInWithCredential(credential).addOnCompleteListener(this, new
OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Toast.makeText(MainActivity.this,"login success",Toast.LENGTH_LONG).show();
} else{
if(task.getException() instanceof FirebaseAuthInvalidCredentialsException){
Toast.makeText(MainActivity.this,"login fail",Toast.LENGTH_LONG).show();
}
}
}
});
}
private void sendVerificationCode(){
String phone=et1.getText().toString().trim();
if(phone.isEmpty()){
et1.setError("required");
et1.requestFocus();
return;
}
if(phone.length()<10){
et1.setError("valid");
et1.requestFocus();
return;
}
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phone,
60,
TimeUnit.SECONDS,
this,
mCallbacks);
}
PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks=new
PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {
}
@Override
public void onVerificationFailed(FirebaseException e) {
Log.d("vrification failed","asdddddddddddddddddddddddddddddddddddd");
}
@Override
public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken){
super.onCodeSent(s, forceResendingToken);
codesent=s;
Log.d("verification started","eeeeeeeeeeeeeeeeeeeeeeeeeeee");
}
};
}`
谁能告诉我代码或 Firebase 配置中的错误是什么
【问题讨论】:
-
请发布堆栈跟踪。
-
在 logcat 中哪里可以找到堆栈跟踪?
-
改变你的
onVerificationFailed把它放进去。 `Log.d("验证失败", e.getMessage()); -
显示此错误:此应用无权使用 Firebase 身份验证。请确认在 Firebase 控制台中配置了正确的包名称和 SHA-1。 [应用验证失败]
-
我刚刚用 com.example.verify 创建了项目,然后把 jason 文件放到 app 文件夹中,然后打开手机验证就可以了......我还需要做什么?跨度>
标签: java android firebase firebase-authentication