Android facebook LoginManager.getInstance().logOut()不使用facebook登录进行下一次登录调用

Android facebook LoginManager.getInstance().logOut()不使用facebook登录进行下一次登录调用,android,facebook,facebook-login,facebook-android-sdk,Android,Facebook,Facebook Login,Facebook Android Sdk,我使用facebook sdk 4.9.0登录facebook。Facebook登录正常工作,但我希望的是,每次用户尝试使用Facebook登录时,都会显示Facebook登录屏幕。 目前,如果用户已经登录到facebook应用程序,facebook登录屏幕将不会显示,但我会获得登录请求的成功 下面是我正在使用的代码 public void goToFacebookLogin() { LoginManager.getInstance().logOut(); LoginMana

我使用facebook sdk 4.9.0登录facebook。Facebook登录正常工作,但我希望的是,每次用户尝试使用Facebook登录时,都会显示Facebook登录屏幕。 目前,如果用户已经登录到facebook应用程序,facebook登录屏幕将不会显示,但我会获得登录请求的成功

下面是我正在使用的代码

public void goToFacebookLogin() {

    LoginManager.getInstance().logOut();

    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    Timber.i("FB login success:" + loginResult.getAccessToken().getToken());
                }

                @Override
                public void onCancel() {
                    Timber.e("FB login cancel");
                    showErrorMessage(getString(R.string.string_error_facebook_login_cancelled));
                }

                @Override
                public void onError(FacebookException error) {
                    Timber.e("FB login error:" + Log.getStackTraceString(error));
                    showErrorMessage(getString(R.string.string_error_facebook_login));

                }
            });

    if (fbPermissions.isEmpty()) {
        fbPermissions.addAll(Arrays.asList(getResources().getStringArray(R.array.string_array_fb_permissions)));
    }
    if (Utils.isNetworkAvailable(this)) {
        showProgressBar();
        LoginManager.getInstance().logInWithReadPermissions(this, fbPermissions);
    } else {
        showErrorMessage(getString(R.string.string_error_no_network));
    }
}
public-void-goToFacebookLogin(){
LoginManager.getInstance().logOut();
LoginManager.getInstance().registerCallback(callbackManager,
新建FacebookCallback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
i(“FB登录成功:+loginResult.getAccessToken().getToken());
}
@凌驾
公开作废{
Timber.e(“FB登录取消”);
消息(getString(R.string.string_error_facebook_login_cancelled));
}
@凌驾
public void onError(facebook异常错误){
e(“FB登录错误:+Log.getStackTraceString(错误));
消息(getString(R.string.string_error_facebook_login));
}
});
if(fbPermissions.isEmpty()){
addAll(Arrays.asList(getResources().getStringArray(R.array.string\u array\u fb\u permissions));
}
如果(Utils.isNetworkAvailable(此)){
showProgressBar();
LoginManager.getInstance().logInWithReadPermissions(此为fbPermissions);
}否则{
消息(getString(R.string.string_error_no_network));
}
}

您必须初始化FacebookSDK。 使用
FacebookSDK.sdkinInitialize()

感谢@kishansolanki124提到这一点。此方法已弃用。提到了解决方法。

可能重复的
GraphRequest(AccessToken.getCurrentAccessToken(),
          "/me/permissions/", null, HttpMethod.DELETE,
          GraphRequest.Callback {
             AccessToken.setCurrentAccessToken(null)
             LoginManager.getInstance().logOut()
          }).executeAsync()