通过 mAuth.signInWithEmailAndPassword 方法中的 Intent 将 Activity 更改为另一个
Change the Activity with another by Intent in mAuth.signInWithEmailAndPassword method
我尝试为我的课程创建这个应用程序,它成功登录但是当我尝试将 Activity 更改为另一个时,应用程序崩溃了。这是我的登录方法,它在 LoginActivity.java 和 onCreate() 方法
中
private void Login(String email, String password) {
auth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this , new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
else {
Toast.makeText(LoginActivity.this, "Authentication failed!", Toast.LENGTH_SHORT).show();
}
}
});
}
task.isSuccessful()
值为真,登录成功,但无法更改activity。
根据您的崩溃日志,
您在设置操作栏标题时遇到了 NPE。
因为你的主题是No action bar,所以会给NPE。
去掉下面的线就可以了,不会崩溃
getSupportActionBar().setTitle("Login");
我尝试为我的课程创建这个应用程序,它成功登录但是当我尝试将 Activity 更改为另一个时,应用程序崩溃了。这是我的登录方法,它在 LoginActivity.java 和 onCreate() 方法
中private void Login(String email, String password) {
auth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this , new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
else {
Toast.makeText(LoginActivity.this, "Authentication failed!", Toast.LENGTH_SHORT).show();
}
}
});
}
task.isSuccessful()
值为真,登录成功,但无法更改activity。
根据您的崩溃日志, 您在设置操作栏标题时遇到了 NPE。 因为你的主题是No action bar,所以会给NPE。
去掉下面的线就可以了,不会崩溃
getSupportActionBar().setTitle("Login");