如何仅为Firebase中的特定用户启动Android活动?
问题描述:
我正在使用firebase和android以及用户身份验证。如何仅为Firebase中的特定用户启动Android活动?
我想要一个活动只为一个具有电子邮件ID的特定用户启动 - [email protected]。
我的代码是:
System.out.println("uid "+auth.getCurrentUser().getEmail());
if(auth.getCurrentUser().getEmail().equals("[email protected]")){
Intent intent = new Intent(LoginActivity.this, AdminActivity.class);
System.out.println("uid1 "+auth.getCurrentUser().getUid());
startActivity(intent);
finish();
}
else {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
即使我登录与[email protected],它开始的MainActivity.class
代替AdminActivity.class
System.out.println("uid "+auth.getCurrentUser().getEmail());
打印[email protected]但它不在if条件下工作。
我是android和firebase的新手,请大家帮忙。
答
问题是你正在使用做字符串比较 “==”
if(auth.getCurrentUser().getEmail()=="[email protected]")
字符串使用equals()方法
if(auth.getCurrentUser().getEmail().equals("[email protected]"))
+0
我试过这个,但它不起作用。 @ kunwar97 – Sanju
比较字符串,请尝试使用比较' auth.getCurrentUser().getEmail()。equals(“[email protected]”)',否则它比较引用而不是字符串本身 – Century
不,它仍然不起作用。 – Sanju
试一试TextUtils.equals(auth.getCurrentUser()。getEmail(),“[email protected]”) –