2017-09-22 43 views

回答

1

比方说,你MainActivity是你的发射活动(其中用户将登陆即没有登录的时候这将是登录活动)和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(登录活动)上。

+0

假设我正在Google和Facebook上登录单个活动,那么它将如何工作..? –

1
FirebaseAuth.getInstance().getCurrentUser().getProviderId() 

应该返回“firebase”,如果没有 - 比用户没有登录firebase。

或更好

FirebaseUser currentUser = mAuth.getCurrentUser(); 

支票或空

+0

假设我在一次活动中使用Google以及Facebook登录,那么它将如何工作..? –