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