У меня встроен последний sdk для Android android (Sdk 4.0). Это код, который я добавил в свой метод onCreate.
FacebookSdk.sdkInitialize(this.getApplicationContext());
callbackManager = CallbackManager.Factory.create();
if(AccessToken.getCurrentAccessToken()!=null){
Log.d(FBTAG,"facebook already logged in");
isFBLogin = true;
}
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
Log.d(FBTAG,"facebook log in");
isFBLogin = true;
}
@Override
public void onCancel() {
// App code
isFBLogin = false;
}
@Override
public void onError(FacebookException error) {
isFBLogin = false;
Log.d(FBTAG,"facebook login error: "+error);
// App code
}
});
И это код, который я использовал для onClickLogin
public void onClickLogin() {
LoginManager.getInstance().logInWithPublishPermissions(this, PERMISSIONS);
}
Я могу войти в систему, нажав кнопку входа в систему и обработав функцию onClickLogin. Теперь, в следующий раз, когда я открываю приложение, приложение, которое я проверяю для AccessToken.getAccessToken, чтобы проверить, не был ли пользователь уже зарегистрирован в facebook, но он всегда приходит как null. В любом случае, в новом sdk нет входа в фоновом режиме, поэтому мне не нужно просить пользователя войти в систему всегда, как раньше, в предыдущей версии в классе сеанса.