登录到不同的活动后Firebase直接指定用户

时间:2017-12-22 13:10:58

标签: android firebase firebase-authentication

这是我的项目的登录活动,任何用户登录都会转到个人资料活动 我想让特定用户(已经拥有他的用户和密码)进入不同的活动。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    txtEmailLogin =(EditText) findViewById(R.id.txtEmailLogin);
    txtPwd  = (EditText) findViewById(R.id.txtPasswordLogin);
    firebaseAuth =FirebaseAuth.getInstance();

}
public void btnUserLogin_Click(View v){
    final ProgressDialog progressDialog = ProgressDialog.show(LoginActivity.this,"Please Wait","Processing...",true);
    (firebaseAuth.signInWithEmailAndPassword(txtEmailLogin.getText().toString(),txtPwd.getText().toString()))
            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                   progressDialog.dismiss();
                    if (task.isSuccessful()){
                        Toast.makeText(LoginActivity.this,"Login Successful",Toast.LENGTH_LONG).show();
                        Intent i = new Intent(LoginActivity.this,ProfileActivity.class);
                        i.putExtra("Email",firebaseAuth.getCurrentUser().getEmail());
                        startActivity(i);
                    } else {
                        Log.e("ERROR",task.getException().toString());
                        Toast.makeText(LoginActivity.this,task.getException().getMessage(),Toast.LENGTH_LONG).show();
                    }
                }
            });
    }
}

1 个答案:

答案 0 :(得分:1)

如果要将两个或三个用户更改为重定向到不同的活动而将其余用户重定向到ProfileActivty,则需要稍微更改代码的逻辑。因此,要实现此目的,请使用以下代码:

String uid = firebaseAuth.getCurrentUser().getUid();

if (uid.equals(firstUserId)) {
    //Redirect this user to FirstActivity
} else if (uid.equals(secondUserId)) {
    //Redirect this user to SecondActivity
} else if (uid.equals(thirdUserId)) {
    //Redirect this user to ThirdActivity
} else {
    //Redirect this user to ProfileActivity
}
相关问题