1

我使用 Facebook SDK 获取基本用户信息。我可以登录,但我无法退出。对于注销,我使用了这段代码

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":"Unknown method","re​​quest_args":[{"key":"access_token","value":"CAAIHzpeuZAgcBAP9Ik9zAkVYoqEPQH4pIU3GDX0nmOFPGygHhzUrHXn3qKiiCZA4bmcE5tHg8cT1JcfWkoep1ZC3JmmmGUktT45GiDHqJUDvqzrxyaTqP6ZCcTcAbaZBkEmAbmitwd2xll5okZAXlElLKPxE3LEGdPE3FB9mmzyQZDZD"},{"key":"method","value ":"auth.expireSession"},{"key":"format","value":"json"}]}

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

4

2 回答 2

1

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

Session.getActiveSession().closeAndClearTokenInformation();

这是有关该AsyncFacebookRunner课程的更多信息。这是他们的“入门”页面,他们提供简单的设置说明和教程来帮助您。

于 2013-06-01T23:09:29.110 回答
0

尝试通过将其更改为您的活动名称。这可以解决您的问题

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

}); }

您也可以访问以下链接,这可能会对您有所帮助:)

android应用程序中的facebook sdk,只能登录,但无法注销?

于 2013-06-27T06:40:22.563 回答