从Android中的本机应用程序注销后,Facebook集成应用程序未注销
我开发了一个facebook集成应用程序。在应用程序中,首先我从本机facebook应用程序注销。然后启动我的应用程序。它将要求获得facebook认证。提供详细信息。它将登录并显示我的用户名。现在关闭应用程序并再次启动。它将不再要求facebook凭据,自动登录。在这之前,它的行为是正当的 唯一的问题是当我从本机应用程序注销时,它不是从我的应用程序注销。它仍在承载以前登录的会话。我怎样才能改变这种行为 我正在使用以下代码:从Android中的本机应用程序注销后,Facebook集成应用程序未注销,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,我开发了一个facebook集成应用程序。在应用程序中,首先我从本机facebook应用程序注销。然后启动我的应用程序。它将要求获得facebook认证。提供详细信息。它将登录并显示我的用户名。现在关闭应用程序并再次启动。它将不再要求facebook凭据,自动登录。在这之前,它的行为是正当的 唯一的问题是当我从本机应用程序注销时,它不是从我的应用程序注销。它仍在承载以前登录的会话。我怎样才能改变这种行为 我正在使用以下代码: Session.openActiveSession(this,
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@SuppressWarnings("deprecation")
@Override
public void call(Session session, SessionState state, Exception exception) {
Log.d("Testing", "session opened "+session.isOpened());
Log.d("Testing", "session closed "+session.isClosed());
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
// Log.d("Testing", "user null or not "+(user == null));
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.hello);
Log.d("Testing", "user name::: "+user.getName());
welcome.setText("Hello "+user.getName() + "!");
}
}
});
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
谢谢,
Arindam在销毁时,您可以清除会话和令牌信息,它可以正常工作@重写受保护的void onDestroy(){//TODO自动生成的方法存根super.onDestroy();Session.getActiveSession().closeAndClearTokenInformation();}作为答案接受。非常感谢。
@Override protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Session.getActiveSession().closeAndClearTokenInformation();
}