从Android中的本机应用程序注销后,Facebook集成应用程序未注销

时间:2013-12-13 03:47:14

标签: android facebook facebook-graph-api

我开发了一款facebook集成应用。在应用程序中,首先我从本机Facebook应用程序注销。然后启动我的应用。它会要求facebook凭据。提供详细信息。它将登录并显示我的用户名。现在关闭应用程序并再次启动它。它不会再次请求facebook凭据,自动登录。直到这个,它表现得很好。

当我从本机应用程序注销时,只会出现问题,它不会从我的应用程序注销。它仍然携带以前登录的会话。我该如何改变这种行为..

我使用以下代码:

    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);
      }

谢谢, 阿瑞丹姆

1 个答案:

答案 0 :(得分:2)

@Override protected void onDestroy() {
// TODO Auto-generated method stub
  super.onDestroy();
Session.getActiveSession().closeAndClearTokenInformation();
}
相关问题