繁体   English   中英

退出Android后无法登录Facebook登录

[英]Facebook login not logging in after log out Android

我正在构建一个使用Facebook SDK的android应用程序。 我目前正在使用LoginManager来处理登录流程。 我已经在Applications onCreate方法中初始化了Facebook sdk。

public class DummyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        FacebookSdk.sdkInitialize(this);
        AppEventsLogger.activateApp(this);
    }
}

我还这样设置了我的LoginActivity:

public class LoginActivity extends AppCompatActivity {

    @Bind(R.id.custom_login_button)
    Button mCustomFacebookButton;
    private CallbackManager callbackManager;
    private LoginManager mLoginManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    callbackManager = CallbackManager.Factory.create();
    mLoginManager = LoginManager.getInstance();
    mLoginManager.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

            startActivity(new Intent(LoginActivity.this, MainActivity.class));
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException error) {

            error.printStackTrace();
        }
    });
    mCustomFacebookButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mAuthProgressDialog.show();
            mLoginManager.logInWithReadPermissions(LoginActivity.this
                    , Arrays.asList("user_events", "email" ,"user_friends"));
        }
    });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);        
        callbackManager.onActivityResult(requestCode, resultCode, data);
    }
}

流程是,一旦按下登录按钮,它将启动MainActivity,并且在该活动中,有一个带有注销按钮的SettingsActivity,它调用LoginManager.getInstance().logOut(); 这将带您回到登录活动。 我面临的问题是,一旦调用注销,便无法重新登录,并且AccessToken始终为null。 因此,从本质上讲,我坚持使用LoginActivity。

变得怪异的是,一旦删除构建文件并重新导入项目,它就可以正常工作,直到我再次注销并再次出现此问题。 自从我更新到Android Studio 2.1,将构建工具更新为23.0.3,并将SDK工具更新为25.1.3以来,一直只有这个问题。

-编辑:它不再通过重新导入来纠正自身

事实证明,在我的LoginActivity清单中,我没有noHistory为true。 这导致我的onActivityResult没有被调用。 一旦删除此行,与Facebook登录有关的问题就消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM