首页 > 解决方案 > Firebase 身份验证在登录时显示网络或超时错误

问题描述

我创建了一个firebase用作后端服务的应用程序。直到今天它工作正常。我无法登录它在登录期间向我显示一个异常,显示“发生错误,发生网络错误(例如超时、中断连接或无法访问的主机)。”

这是我的登录代码,我认为没问题:

  login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (((GlobalApp) getApplication()).isNetworkConnected()){
                if (validateinput()){
                    Loadingdialog.setTitle("Retrieving User");
                    Loadingdialog.setMessage("Loading...");
                    Loadingdialog.setCancelable(false);
                    Loadingdialog.setCanceledOnTouchOutside(false);
                    Loadingdialog.show();

                    mAuth.signInWithEmailAndPassword(emailfield.getText().toString(),passfield.getText().toString())
                            .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
                                @Override
                                public void onComplete(@NonNull Task<AuthResult> task) {
                                    if (task.isSuccessful()){
                                       // saveuserToken();
                                        getUserDataFromDb();

                                    }
                                    else {
                                        Loadingdialog.dismiss();
                                        Log.d("ErrorTag", "Error Occured " +task.getException().getMessage());
                                        Toast.makeText(getBaseContext(),task.getException().getLocalizedMessage(),Toast.LENGTH_SHORT).show();

                                    }
                                }
                            });
                }

            }else {
                // SHow Network error

                Snackbar snackbar = Snackbar
                        .make(findViewById(R.id.splashscreen),"Network Not Available", Snackbar.LENGTH_LONG);
                View snackBarView = snackbar.getView();
                snackBarView.setBackgroundColor(Color.BLACK);
                snackbar.setActionTextColor(Color.WHITE);
                snackbar.show();

            }
        }
    });

标签: androidfirebasefirebase-authentication

解决方案


要么您没有连接到 Internet,要么您没有在 Android 的清单文件中授予 INTERNET 权限。


推荐阅读