こんにちは、私は 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 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);
}
}
});
}
この方法では正しくログインできましたが、ログアウトするとそれ以上ログインできず、facebook でエラーが発生しました (添付の画像を参照)。
これは私のログアウト方法です:
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
}
}
ユーザーを変更したいので、トークン情報をクリアしたい。では、closeAndClearTokenInformation() の後に正しく機能する新しい新鮮なセッションをどのように生成できますか?
PS: closeAndClearTokenInformation メソッドを削除すると、すべて正常に動作しますが、ユーザーを変更できません。また、アプリケーションで Facebook アプリケーションとは異なるユーザーでログインすると、まだ古いユーザーです。
ありがとう!