所以我现在已经摸不着头脑了几个小时,我在我的Android应用程序中使用Firebase身份验证,并且出于某种原因,它一直随机弹出,基本上打开多次,经过研究我发现它可能是方法AuthStateListener。
我尝试添加一个标记,就像那些遇到相同问题但没有用的人一样,如果Firebase用户或身份验证不等于null而没有应用程序自动打开,我应该在哪里开始我的活动。非常感谢任何帮助。
这是我的代码
mAuthListner = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser() != null) {
firebaseAuth = FirebaseAuth.getInstance();
//Log.i("User1",firebaseAuth.getCurrentUser().toString());
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (!isMyServiceRunning(MyService.class))
startService(new Intent(getApplicationContext(), MyService.class));
//prefManager = new PrefManager(getApplicationContext());
if (MyPreferences.isFirst(getApplicationContext()) || !databaseOperations.checkUser(databaseOperations)) {
launchHomeScreen();
} else {
startActivity(new Intent(MainActivity.this, MainDrawer.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK));
finish();
}
}
}
}
};