我尝试使用Firebase创建注册页面,但遇到以下错误:“忽略标头X-Firebase-Locale,因为其值为空”
1.我的电话和Emulator上都有问题
2.互联网工作正常,通过WLAN连接。
3.我检查了gradle和google-service.json,一切都是正确的
4.登录方式:电子邮件/密码有效
5. Android Studio是最新的
我经常看到这个问题,但没有一个回答对我有用。我想这是我遗漏的一个小细节。
谢谢你的帮助阿普费尔曼
package com.example.taskboard;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaCodec;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.firestore.FirebaseFirestore;
import java.util.regex.Pattern;
public class RegWindow extends AppCompatActivity implements View.OnClickListener {
TextView RegBack;
EditText EmailReg, PasswordReg;
Button ButtonReg;
FirebaseAuth auth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reg_window);
TextView back = findViewById(R.id.RegBack);
back.setOnClickListener(this);
Button BReg = findViewById(R.id.ButtonReg);
BReg.setOnClickListener(this);
EmailReg = findViewById(R.id.EmailReg);
PasswordReg = findViewById(R.id.PasswordReg);
auth = FirebaseAuth.getInstance();
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.ButtonReg:
reg();
break;
case R.id.RegBack:
finish();
break;
}
}
public void reg(){
String Email = EmailReg.getText().toString().trim();
String Password = PasswordReg.getText().toString().trim();
if(Email.isEmpty()) {
EmailReg.setError("Bitte Email eingeben");
EmailReg.requestFocus();
return;
}
if(Password.isEmpty()) {
PasswordReg.setError("Bitte ein Password eingeben");
PasswordReg.requestFocus();
return;
}
if(!Patterns.EMAIL_ADDRESS.matcher(Email).matches()){
EmailReg.setError("Keine Gültige Email eingegeben");
EmailReg.requestFocus();
return;
}
auth.createUserWithEmailAndPassword(Email,Password)
.addOnCompleteListener(RegWindow.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Toast.makeText(RegWindow.this, "Danke für die Regestrierung", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(RegWindow.this, "Authentication failed.",Toast.LENGTH_SHORT).show();
}
}
});
}
}
2条答案
按热度按时间vu8f3i0k1#
我知道了。
我在Firebase中选择了错误的项目,并且登录方法被禁用了。真遗憾。但是我很高兴它现在可以工作了。
我用这个吐司向我展示了我需要的错误按摩。
bmp9r5qi2#
在我的例子中,电子邮件中有问题,我在电子邮件的最后一个我没有看到的地方放了空格,然后我通过在验证用户身份时添加email.trim()方法来解决这个问题。