我在我的Android应用程序中使用facebook登录。我正在使用访问令牌和访问过期此应用程序。但是我应该使用什么代码注销这个应用程序。我想添加一个注销按钮,如果我点击它,注销功能应该有效。我的登录按钮代码是:
btnfblogin = (Button) findViewById(R.id.Bfb);
btnfblogin.setOnClickListener(new View.OnClickListener() {
@SuppressWarnings("deprecation")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (fb.isSessionValid()) {
// button logout
try {
fb.logout(getApplicationContext());
updateButtonImage();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
// button Login
fb.authorize(Login.this, new String[] { "email" },
new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Toast.makeText(Login.this, "fbError",
Toast.LENGTH_SHORT).show();
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
Toast.makeText(Login.this, "OnError",
Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Editor editor = sp.edit();
editor.putString("access_token",
fb.getAccessToken());
editor.putLong("access_expires",
fb.getAccessExpires());
editor.commit();
updateButtonImage();
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
Toast.makeText(Login.this, "Oncancel",
Toast.LENGTH_SHORT).show();
}
});
}
}
});
我想在不同的活动上使用注销功能。我正在使用第一个登录活动,并希望从第四个活动退出。
答案 0 :(得分:1)
只需使用此功能即可注销facebook sdk 3.x
if (fb_session != null && fb_session.isOpened()) {
fb_session.closeAndClearTokenInformation();
}
在Old sdk中试试这个
if( mFb.isSessionValid() ) {
mFb.logout(getApplicationContext());
SessionStore.clear(getApplicationContext());
}
答案 1 :(得分:0)
尝试以下代码..
使用此代码,您需要从facebook注销。这将清除所有Facebook信息。然后将控件重定向到主要活动(或)其他一些。
private void onClickLogout() {
Session session = Session.getActiveSession();
if (!session.isClosed()) {
session.closeAndClearTokenInformation();
}
}
答案 2 :(得分:0)
关于特定按钮点击事件,只需输入以下行
Session session = Session.getActiveSession();
session.closeAndClearTokenInformation();
Intent intent = new Intent(CurrentActivity.this, MainActivity.class);
startActivity(intent);
这将从facebook退出并返回到您的主要活动或您想要的位置。