Android 用户使用Firebase实时数据库登录
我正在使用Android 用户使用Firebase实时数据库登录,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在使用firebase实时数据库使用一个简单的登录应用程序。我希望用户只登录一次。所以,下一次若用户以前登录过,那个么用户应该被引导到主屏幕,而不是登录页面。任何帮助都将不胜感激 FirebaseAuth.getInstance().getCurrentUser().getProviderId() 如果用户没有使用firebase登录,则应返回“firebase” 或者更好 FirebaseUser currentUser = mAuth.getCurrentUser(); 检查是否为空
firebase实时数据库
使用一个简单的登录应用程序。我希望用户只登录一次。所以,下一次若用户以前登录过,那个么用户应该被引导到主屏幕,而不是登录页面。任何帮助都将不胜感激
FirebaseAuth.getInstance().getCurrentUser().getProviderId()
如果用户没有使用firebase登录,则应返回“firebase”
或者更好
FirebaseUser currentUser = mAuth.getCurrentUser();
检查是否为空
如果用户没有使用firebase登录,则应返回“firebase”
或者更好
FirebaseUser currentUser = mAuth.getCurrentUser();
检查或为空假设您的
main活动
是您的启动器活动(用户在未登录时将登陆,即登录活动),而ActivityHome
是您希望用户在登录时重定向的主活动
public class MainActivity extends AppCompatActivity {
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override
protected void onStop() {
super.onStop();
mAuth.removeAuthStateListener(mAuthListener);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser()!=null){
// user is logged in, redirect to ActivityHome
startActivity(new Intent(MainActivity.this, ActivityHome.class));
}
}
};
}
}
现在,如果用户已登录,他/她将被重定向到ActivityHome,但如果他未登录,他将停留在MainActivity(登录活动)上 假设您的
main活动
是您的启动器活动(用户未登录时将登陆,即登录活动),而ActivityHome
是您希望用户登录时重定向的主活动
public class MainActivity extends AppCompatActivity {
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override
protected void onStop() {
super.onStop();
mAuth.removeAuthStateListener(mAuthListener);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
if (firebaseAuth.getCurrentUser()!=null){
// user is logged in, redirect to ActivityHome
startActivity(new Intent(MainActivity.this, ActivityHome.class));
}
}
};
}
}
现在,如果用户已登录,他/她将被重定向到ActivityHome,但如果他未登录,他将停留在MainActivity(登录活动)上 假设我在一个活动上登录Google和Facebook,那么它将如何工作?假设我在一个活动上登录Google和Facebook,那么它将如何工作?假设我在一个活动上登录Google和Facebook,那么它将如何工作?假设我在一个活动上登录Google和Facebook在单个活动中,它将如何工作。。?