2013-06-01 37 views
1

使用Facebook SDK获取基本用户信息。 我可以登录,但我无法注销。 对于注销,我用这个代码Android Facebook注销错误(未知方法)

public void logoutFromFacebook() { 
mAsyncRunner.logout(this, new RequestListener() { 

    @Override 
    public void onComplete(String response) { 
     Log.d("Logout from Facebook", response); 
     if (Boolean.parseBoolean(response) == true) { 
      Intent intent = new Intent(getBaseContext(),MainActivity.class); 
      startActivity(intent); 

     } 
    } 

    @Override 
    public void onIOException(IOException e) { 
    } 

    @Override 
    public void onFileNotFoundException(FileNotFoundException e) { 
    } 

    @Override 
    public void onMalformedURLException(MalformedURLException e) { 
    } 

    @Override 
    public void onFacebookError(FacebookError e) { 
    } 
}); 
} 

日志内:反应是:

{ “ERROR_CODE”:3 “ERROR_MSG”: “未知方法”, “request_args” :[{ “键”: “的access_token”, “值”: “CAAIHzpeuZAgcBAP9Ik9zAkVYoqEPQH4pIU3GDX0nmOFPGygHhzUrHXn3qKiiCZA4bmcE5tHg8cT1JcfWkoep1ZC3JmmmGUktT45GiDHqJUDvqzrxyaTqP6ZCcTcAbaZBkEmAbmitwd2xll5okZAXlElLKPxE3LEGdPE3FB9mmzyQZDZD”},{ “键”: “方法”, “值”: “auth.expireSession”},{ “键”: “格式”,”值“:”json“}]}

你能帮我解决这个问题吗?

回答

1

首先,AsyncFacebookRunner已弃用,因此您应该避免使用它。由于此类已被弃用,因此代码不再受支持,因此不可靠。这可能是您收到错误的原因。现在,如果你使用新Facebook SDK,3.1我认为它是,它是很容易退出:

Session.getActiveSession().closeAndClearTokenInformation(); 

Here's some more informationAsyncFacebookRunner类。 And here's their“入门”页面提供简单的安装说明和教程以帮助您解决问题。

+0

是的,我已经已经更新,谢谢。 –

0

尝试通过改变给你的activityName.this这可以解决您的问题

public void logoutFromFacebook() { 
// changes ares Required in Following line 
mAsyncRunner.logout(yourActivityName.this, new RequestListener() { 

@Override 
public void onComplete(String response) { 
    Log.d("Logout from Facebook", response); 
    if (Boolean.parseBoolean(response) == true) { 
     Intent intent = new Intent(getBaseContext(),MainActivity.class); 
     startActivity(intent); 

    } 
} 

@Override 
public void onIOException(IOException e) { 
} 

@Override 
public void onFileNotFoundException(FileNotFoundException e) { 
} 

@Override 
public void onMalformedURLException(MalformedURLException e) { 
} 

@Override 
public void onFacebookError(FacebookError e) { 
} 

}); }

,你也可以访问以下链接,这可能会帮助你:)

facebook sdk in android app, only able to login, but not able to logout?