1
すでに登録済みのユーザに自動的にログインしようとしています。私のユーザーがFacebookのみで登録されていても、複数のユーザーがgetCurrentUserを返すときに問題が発生します。最初のユーザーがなぜ表示されているのかわかりません。これは、打ち上げ活動にauthStateListnerための私のコードです:このコードブロックのAndroid用Firebase APIで複数のログインユーザを取得する
mAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
int i = 0;
FirebaseUser user = firebaseAuth.getCurrentUser();
if(user == null){
Intent loginIntent = new Intent(StartActivity.this, LoginActivity.class);
startActivity(loginIntent);
return;
}
for(UserInfo info : firebaseAuth.getCurrentUser().getProviderData()){
Log.d(START_ACTIVITY_TAG, "" + i++);
if(info == null){
Intent loginIntent = new Intent(StartActivity.this, LoginActivity.class);
startActivity(loginIntent);
}
if(info.getProviderId().contentEquals("google.com")){
Log.d(START_ACTIVITY_TAG,info.getProviderId());
Log.d(START_ACTIVITY_TAG,"Official Login" + info.getEmail());
Intent officialIntent = new Intent(StartActivity.this, OfficialActivity.class);
officialIntent.putExtra("emailId",info.getEmail());
startActivity(officialIntent);
}else if(info.getProviderId().contentEquals("facebook.com")){
Log.d(START_ACTIVITY_TAG,info.getProviderId());
Log.d(START_ACTIVITY_TAG,"Resident Login through fb");
Intent reportIntent = new Intent(StartActivity.this, ReportActivity.class);
reportIntent.putExtra("resident_id", info.getEmail());
startActivity(reportIntent);
}else{
Log.d(START_ACTIVITY_TAG,info.getProviderId());
Log.d(START_ACTIVITY_TAG,"Resident Login normal" + info.getEmail());
Intent reportIntent = new Intent(StartActivity.this, ReportActivity.class);
reportIntent.putExtra("resident_id",info.getEmail());
startActivity(reportIntent);
}
}
}
});
私のログ、次のようにされています。私には期待通りの出力が見えます
D/Start_Activity: firebase D/Start_Activity: Resident Login normalnull D/Start_Activity: 1 D/Start_Activity: facebook.com D/Start_Activity: Resident Login through fb D/Start_Activity: 0 D/Start_Activity: firebase D/Start_Activity: Resident Login normalnull D/Start_Activity: 1 D/Start_Activity: facebook.com D/Start_Activity: Resident Login through fb