我一直在寻找解决方案大约两天,但似乎找不到它......
我已经尝试了很多东西,我什至创建了一个全局类,它可以接收用户在登录时获得的会话,但它确实有效......当我设置例如 lblNotify 时,它会收到消息:
public void logoutProcess()
{
if (Global.facebookSession.getActiveSession() != null) {
Global.facebookSession.closeAndClearTokenInformation();
lblNotify.setText("found this session");
}
Global.facebookSession.setActiveSession(null);
}
但是什么也没发生,当我关闭应用程序并再次打开它时,我的用户仍然登录......
这也是我的全局函数
public class Global {
public static Session facebookSession;
public static String usuName;
}
我正在像这样设置创建主活动:
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
Global.facebookSession = new Session.Builder(this).build();
if (session.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Global.usuName = user.asMap().get("name").toString();
}
}
}).executeAsync();
}
}
});
知道吗?
谢谢!
我瘦了,我发现了问题...由于我仍然登录了官方Facebook应用程序,它将再次静默进行身份验证。我正在考虑创建一个"isLogged"var 并存储它,以便当有人注销并重新启动应用程序时,它甚至不会验证用户是否绕过 facebook 的会话验证进行记录。