确认登录后显示登出按钮,并在使用Facebook登录集成Android登录时进入活动

时间:2016-06-02 08:10:13

标签: android facebook facebook-graph-api login

我正在为我的Android应用程序使用Facebook登录集成。我可以登录并转到下一个活动,但问题是,在使用Facebook登录按钮登录后,它会在点击“是”确认页面后显示facebook登出按钮一段时间并转到我的活动。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

Facebook登录按钮,如果您成功登录..它会将措辞从“登录Facebook”更改为“退出”..如果您不想看到这一点,只需设置可用性或意图到期望的活动。如果您使用intent,请设置如下所示的标志

Intent next = new Intent(getApplicationContext(), MenuActivity.class);
next.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(next);

以下是facebook loginbutton

的示例
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {

            @Override
            public void onSuccess(LoginResult loginResult) {
                GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), (object, response) -> {
                    // hide this facebook login button
                    // Intent to your desired activity

                });
                Bundle parameters = new Bundle();
                parameters.putString("fields", "id,name,email,birthday,gender,first_name,last_name");
                request.setParameters(parameters);
                request.executeAsync();
            }

            @Override
            public void onCancel() {
                Toast.makeText(getApplicationContext(), Message.LOGINCANCEL, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(FacebookException e) {
                Toast.makeText(getApplicationContext(), Message.LOGINFAILED, Toast.LENGTH_SHORT).show();
            }
        });

如果您想将“退出”Facebook按钮更改为“登录Facebook”,请使用以下代码..只需创建BUtton并执行onClick()以触发下面的代码

if (AccessToken.getCurrentAccessToken() != null && com.facebook.Profile.getCurrentProfile() != null){
            LoginManager.getInstance().logOut();
        }