android Firebase在页面中签名不起作用,忽略标题X-Firebase-Locale,因为其值为空

q9yhzks0  于 2023-03-16  发布在  Android
关注(0)|答案(2)|浏览(106)

我尝试使用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();

                        }
                    }
                });



                     }
                                                                                    }
vu8f3i0k

vu8f3i0k1#

我知道了。
我在Firebase中选择了错误的项目,并且登录方法被禁用了。真遗憾。但是我很高兴它现在可以工作了。
我用这个吐司向我展示了我需要的错误按摩。

Toast.makeText(RegWindow.this, "Fehler"+ task.getException().getMessage(), Toast.LENGTH_SHORT).show();
bmp9r5qi

bmp9r5qi2#

在我的例子中,电子邮件中有问题,我在电子邮件的最后一个我没有看到的地方放了空格,然后我通过在验证用户身份时添加email.trim()方法来解决这个问题。

createUserWithEmailAndPassword(email: email.trim(), password: password);

相关问题