android上的Facebook:closeAndClearTokenInformation后无法登录
大家好,我使用Android facebook sdk 3.0.1,我的登录方法如下:android上的Facebook:closeAndClearTokenInformation后无法登录,android,facebook,facebook-access-token,Android,Facebook,Facebook Access Token,大家好,我使用Android facebook sdk 3.0.1,我的登录方法如下: public void connect(){ Session.openActiveSession(HTFacebook.context, true, new Session.StatusCallback() { // callback when session changes state @Override public void cal
public void connect(){
Session.openActiveSession(HTFacebook.context, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if(exception != null){
Log.e(TAG,"exception----->" + exception.getMessage());
}
if(session.isOpened()){
List<String> permissions = session.getPermissions();
if(!isSubsetOf(PERMISSIONS, permissions)){
Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(HTFacebook.context, PERMISSIONS);
session.requestNewReadPermissions(newPermissionsRequest);
return;
}
MeRequest(session, null, null);
}
}
});
}
我想清除令牌信息,因为我想更改用户。那么,如何在closeAndClearTokenInformation()之后生成新的会话并使其正常工作呢
PS:如果我删除closeAndClearTokenInformation方法,所有方法都能正常工作,但我不能更改用户,而且如果我在我的应用程序上使用不同于Facebook应用程序的用户登录,我仍然是老用户
谢谢 您不应该同时调用closeAndClearTokenInformation()和close()。只有一个。closeAndClearTokenInformation()将已经为您调用close()。@MingLi同样的问题,应用程序因抛出而崩溃:要打开的会话已打开。没有closeAndClearTokenInformation,我无法更改用户信息。
public void logout(){
if(Session.getActiveSession().isOpened()){
Session.getActiveSession().closeAndClearTokenInformation();
Session.getActiveSession().close();
Session.setActiveSession(null);
this.userInfo=null;
this.userId=null;
}else{
//already logged out
}
}