如果我从webform登录,Android Facebook LoginButton不会更新登录状态

时间:2015-10-21 18:45:54

标签: android facebook sdk

我有一个允许用户在Facebook上发布的应用。 在选项屏幕中,我有一个可以用来登录的LoginButton,它会记住状态。登录后,它将更改为Logout。 如果我尝试在未登录的情况下分享内容(使用选项屏幕中的按钮),则会显示Facebook网络表单并登录。问题是选项屏幕中的LoginButton没有更新它的状态来说" Logout"。

感谢。

1 个答案:

答案 0 :(得分:1)

在“选项屏幕”中,您应该检查是否有AccessToken已经像这样

if (AccessToken.getCurrentAccessToken() != null &&
            com.facebook.Profile.getCurrentProfile() != null) {
        imgFacebook.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LoginManager.getInstance().logOut();
                imgFacebook.setVisibility(View.GONE);
                imgFacebookDeactive.setVisibility(View.VISIBLE);
                Toast.makeText(getApplicationContext(), "Facebook has Logout successfulley!",
                        Toast.LENGTH_SHORT).show();
            }
        });


    } else {
        imgFacebook.setVisibility(View.GONE);
        imgFacebookDeactive.setVisibility(View.VISIBLE);
        imgFacebookDeactive.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplication(), "Facebook already Logout", Toast.LENGTH_SHORT).show();
            }
        });
    }

然后检查我的CurrentAccessToken和CurrentProfile,如果它不为null则表示已登录帐户。我呼叫LoginManager.getInstance().logOut();注销facebook。