2017-09-22 76 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登錄,那麼它將如何工作..? –