public class MainActivity extends AppCompatActivity {
private LoginButton facebookloginButton;
private CallbackManager callbackManager;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
facebookloginButton=(LoginButton)findViewById(R.id.facebook_login_button);
callbackManager=CallbackManager.Factory.create();
facebookloginButton.setReadPermissions("email", "public_profile");
facebookloginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
handleFacebookAccessToken(loginResult.getAccessToken());
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
Toast.makeText(getApplicationContext(), "Error",Toast.LENGTH_LONG).show();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
private void handleFacebookAccessToken(AccessToken token) {
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
FirebaseUser user = mAuth.getCurrentUser();
Intent intent=new Intent(getApplicationContext(),NextActivity.class);
// intent.putExtra("NAME",user.getDisplayName());
startActivity(intent);
finish();
} else {
// If sign in fails, display a message to the user.
Toast.makeText(getApplicationContext(), "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
// ...
}
});
}
@Override
public void onStart() {
super.onStart();
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
// currentUser.getDisplayName();
}
}
我正在使用Firebase的Facebook登錄。我可以登錄,如果登錄成功,我將重定向到NextActivity。Android Firebase Facebook登錄顯示退出按鈕,當應用程序重新打開時
但是當我按下Facebook登錄按鈕時,它會顯示我幾秒鐘的註銷按鈕,然後將我重定向到NextActivity。當我關閉我的應用程序並再次打開它時,它會通過註銷按鈕向我顯示MainActivity。
我想,如果應用程序被關閉並重新打開再次
你想只顯示MainActivity一次嗎? –
是的我的主要活動有Facebook登錄按鈕。一旦用戶成功簽名,我想顯示NextActivity.Even當應用程序關閉並重新打開它應該直接顯示NextActivity.Instead它顯示登錄後登錄文本相同的登錄按鈕。 – Pritish