Как начать активность после успешной регистрации, используя адрес электронной почты и пароль на Firebase - PullRequest
0 голосов
/ 12 июня 2018

Я задаю этот вопрос после прочтения официальных документов.Мне удалось зарегистрировать пользователя в моей Системе аутентификации Firebase, но я хочу начать активность после успешной регистрации

, вот мой код

public class SignUpActivity extends AppCompatActivity {

FirebaseAuth mAuth;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_up);
    mAuth=FirebaseAuth.getInstance();
}

public void fgh(View view) {
    mAuth.createUserWithEmailAndPassword("example@email.com","password")
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if(task.isSuccessful())
                    {
                        Toast.makeText(SignUpActivity.this, "Successfully created your account", Toast.LENGTH_LONG).show();
                        Intent intent = new Intent(this,SuccessActivity.class);  //this is my error
                        startActivity(intent);  // how to start activity here
                    }
                    else{
                        Toast.makeText(SignUpActivity.this, "ERROR has occurred", Toast.LENGTH_LONG).show();
                    }
                }
            });
    }
}

Сообщение об ошибке IDE

Ответы [ 2 ]

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

Чтобы решить эту проблему, измените this, который вы передаете в качестве первого аргумента при вызове метода, подобного этому:

Intent intent = new Intent(getApplicationContext(), SuccessActivity.class);

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

private Context context;

И инициализируйте его в вашем onCreate() методе, подобном этому:

context = this;

И затем используйте его где угодно в вашей деятельности.

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

получите правильный контекст, поэтому пусть он будет
Intent intent = new Intent(SignUpActivity.this,SuccessActivity.class);

...