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

Neh*_*wal 5 android facebook facebook-android-sdk facebook-login

我使用 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));
    }
}
Run Code Online (Sandbox Code Playgroud)

ara*_*nna 2

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

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