0

J'utilise Firebase et Android avec l'authentification de l'utilisateur.Comment démarrer une activité android uniquement pour un utilisateur spécifique dans Firebase?

Je souhaite qu'une activité démarre uniquement pour un utilisateur spécifique avec un ID de messagerie - [email protected]

mon code est:

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(); 
}  

Même si je me connecte avec [email protected], il commence la MainActivity.class au lieu de AdminActivity.class

System.out.println("uid "+auth.getCurrentUser().getEmail()); 

impressions [email protected] mais il doesn Ne travaillez pas dans la condition if.

Je suis nouveau sur Android et Firebase, s'il vous plaît aider.

+2

pour comparer une chaîne, essayez d'utiliser ' auth.getCurrentUser(). getEmail(). est égal à ("[email protected]") ', sinon il compare la référence et non la chaîne elle-même – Century

+0

non, cela ne fonctionne toujours pas. – Sanju

+0

Essayez-le à TextUtils.equals (auth.getCurrentUser(). GetEmail(), "[email protected]") –

Répondre

0

Le problème est que vous faites la comparaison de chaînes en utilisant "=="

if(auth.getCurrentUser().getEmail()=="[email protected]")

Les chaînes sont comparées en utilisant la méthode equals()

if(auth.getCurrentUser().getEmail().equals("[email protected]"))

+0

J'ai essayé, mais cela ne fonctionne pas. @ kunwar97 – Sanju