[英]Android Facebook: Login in One activity and Logout in another activity
From my App, I'm trying accessing facebook. 从我的应用程序,我正在尝试访问Facebook。 The requirement will be like in two activity's I can log in to facebook and from only one activity I can log out.
要求就像在两个活动中一样,我可以登录到Facebook,而从一个活动中我可以注销。 Consider Activity A and B, I can log in to facebook both from activity A and B and I can log out only from activity B after logout from activity B, if I try to access facebook from activity A it should ask for login.
考虑活动A和B,我可以同时从活动A和B登录到Facebook,并且只能在从活动B注销后才能从活动B注销,如果我尝试从活动A访问Facebook,则应该要求登录。 Right now it not asking from login, directly showing App authentication page
现在它不要求登录,直接显示App身份验证页面
It is not logging out properly. 它没有正确注销。 Here is my code.
这是我的代码。
protected Handler mHandler = new Handler();
private final class FBLogoutListener implements RequestListener {
@Override
public void onComplete(String arg0, Object arg1) {
mHandler.post(new Runnable() {
@Override
public void run() {
Log.w(TAG,"onComplete:");
FacebookUtility.clear();
}
});
}
@Override
public void onFacebookError(FacebookError arg0, Object arg1) {}
@Override
public void onFileNotFoundException(FileNotFoundException arg0,
Object arg1) {}
@Override
public void onIOException(IOException arg0, Object arg1) {}
@Override
public void onMalformedURLException(MalformedURLException arg0,
Object arg1) {}
}
AsyncFacebookRunner facebookRunner = new AsyncFacebookRunner(FacebookUtility.mFB);
FBLogoutListener logoutListener = new FBLogoutListener();
facebookRunner.logout(this,logoutListener);
Any solution for this, where I'm doing mistakes. 我正在犯错的任何解决方案。
If you are using Login manager class to login then this one line code is enough. 如果您使用登录管理器类登录,那么这一行代码就足够了。
// Facebook logout
LoginManager.getInstance().logOut();
This worked for me.. 这对我有用。
FB Logout in another activity : FB注销另一个活动:
// fb logout // fb注销
Session session = Session.getActiveSession();
if (session != null) {
if (!session.isClosed()) {
session.closeAndClearTokenInformation();
}
} else {
session = new Session(MainActivity.this);
Session.setActiveSession(session);
session.closeAndClearTokenInformation();
}
preferenceHelper.onLogOut();
finish();
startActivity(new Intent(MainActivity.this,
LoginActivity.class));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.