问题
I'm an android noob and want to use Facebook Api to login to my app. I have managed to setup Facebook login using LoginButton class on a fragment from Facebook documentation. Now I can login using Facebook, each time I succesfully login I get the logout button but I need to be able to redirect to another activity after successful login or when logged in. How can I track login status and redirect since in Api 4.0 Session doesn't work?
回答1:
Make sure your Activity or Fragment implements FacebookCallback (my exampel here uses a Fragment, but its easy to adapt.) Make sure you have the following member variables:
CallbackManager mFacebookCallbackManager;
LoginButton mfbLoginButton;
Then setup those variables in your onCreate:
mFacebookCallbackManager = CallbackManager.Factory.create();
mfbLoginButton = (LoginButton) getView().findViewById(R.id.facebook_login_button);
mfbLoginButton.setFragment(this);
mfbLoginButton.registerCallback(mFacebookCallbackManager, this);
Ensure you add this to enable the callback:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data);
}
The FacebookCallback will then give you this method:
@Override
public void onSuccess(Object o) {
Toast.makeText(getActivity(), "Facebook onSuccess", Toast.LENGTH_SHORT).show();
}
You can start your new activity from onSuccess. Good luck.
来源:https://stackoverflow.com/questions/30643545/launch-new-activity-after-successful-facebook-login-facebook-api-v-4-0-androi