OperationException, вызывающая ошибку неверного запроса - PullRequest
0 голосов
/ 08 июня 2018

Я создал страницу входа в систему, которая успешно позволяет пользователям входить / выходить из системы и создавать учетные записи.Это работало совершенно нормально.Код не имеет проблем.

Позже я решил включить MapActivity в свой проект, чтобы протестировать кое-что, но потом решил удалить его.После его удаления пользователи не смогут войти в свои учетные записи.Я получаю ошибку Error: An internal error has occurred [BAD REQUEST].

Вещи, которые я пробовал:

  • Я включил электронную почту / пароль на консоли Firebase.
  • Удалил все и все, что связано с MapActivity, из моего проекта.
  • Недействительные кэши / перезапуск.
  • Запуск моей программы на разных эмуляторах.

Что я могу сделать, чтобы исправить эту проблему?Если вы хотите увидеть код, дайте мне знать.Заранее спасибо.

Вот файл LoginActivity.java:

package com.example.name.myapp;

import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
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.auth.FirebaseUser;

public class LoginActivity extends AppCompatActivity {
    private EditText loginEmailText;
    private EditText loginPassText;
    private Button loginBtn;
    private Button loginRegBtn;

    private FirebaseAuth mAuth;
    private ProgressBar loginProgress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        mAuth = FirebaseAuth.getInstance();

        loginEmailText = (EditText) findViewById(R.id.reg_email);
        loginPassText = (EditText) findViewById(R.id.reg_confirm_pass);
        loginBtn = (Button) findViewById(R.id.login_btn);
        loginRegBtn = (Button) findViewById(R.id.login_reg_btn);
        loginProgress = (ProgressBar) findViewById(R.id.login_progress);

        loginRegBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent myIntent = new Intent(LoginActivity.this, RegisterActivity.class);
                startActivity(myIntent);

            }
        });

        loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String loginEmail = loginEmailText.getText().toString();
                String loginPass = loginPassText.getText().toString();

                if(!TextUtils.isEmpty(loginEmail) && !TextUtils.isEmpty(loginPass)) {
                    loginProgress.setVisibility(View.VISIBLE);
                    mAuth.signInWithEmailAndPassword(loginEmail, loginPass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if(task.isSuccessful()) {
                                sendToMain();
                            } else {
                                String errorMessage = task.getException().getMessage();
                                Toast.makeText(LoginActivity.this, "Error : " + errorMessage, Toast.LENGTH_LONG).show();
                            }
                            loginProgress.setVisibility(View.INVISIBLE);
                        }
                    });
                }
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();

        FirebaseUser currentUser = mAuth.getCurrentUser();

        if(currentUser != null) {
            sendToMain();
        }
    }

    private void sendToMain() {
        Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
        startActivity(mainIntent);
        finish();
    }
}

Вот исключение, которое я получаю:

a06-07 08:54:38.591 2409-2943/com.google.android.gms.persistent E/AsyncOperation: serviceID=51, operation=GetExperimentTokensOperationCall
OperationException[Status{statusCode=No config packages for log source, or config package not registered, resolution=null}]
    at aelu.a(:com.google.android.gms@12521024@12.5.21 (040700-189987672):32)
    at aelu.a(:com.google.android.gms@12521024@12.5.21 (040700-189987672):66)
    at noj.run(:com.google.android.gms@12521024@12.5.21 (040700-189987672):40)
    at axja.run(:com.google.android.gms@12521024@12.5.21 (040700-189987672):2)
    at nsg.run(:com.google.android.gms@12521024@12.5.21 (040700-189987672):27)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at nya.run(Unknown Source:7)
    at java.lang.Thread.run(Thread.java:764)

1 Ответ

0 голосов
/ 08 июня 2018

Если вам нужна помощь, вы можете добавить другие проверки исключений для проверки:

mAuth.signInWithEmailAndPassword(login, pass)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
          @Override
           public void onComplete(@NonNull Task<AuthResult> task) {
             if(task.isSuccessful())
              {
                  //-----------
    }else if (task.getException() instanceof FirebaseAuthInvalidUserException) {    
    }else if(((FirebaseAuthException) task.getException()).getErrorCode().equals("ERROR_USER_DISABLED"))
    {
    }    
    else if(((FirebaseAuthException) task.getException()).getErrorCode().equals("ERROR_USER_NOT_FOUND "))
        {
        }else if(((FirebaseAuthException) task.getException()).getErrorCode().equals("ERROR_USER_TOKEN_EXPIRED "))
        {
        }else if(((FirebaseAuthException) task.getException()).getErrorCode().equals("ERROR_INVALID_USER_TOKEN "))
        {
        }
        }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...