1

我想从 facebook sdk 获取用户的详细信息。我现在正在使用这种方法,我想返回用户的 id,我不知道该怎么做,请帮忙。

private String getUserId() 
{
    Request.executeMeRequestAsync(Session.getActiveSession(), 
                                  new Request.GraphUserCallback() 
              {
                   @Override
                   public void onCompleted(GraphUser user, Response response) 
                   {
                        FacebookRequestError error = response.getError();
                        GraphObject graphObject = response.getGraphObject();

                        if(graphObject != null) 
                        {
                            if(error == null) 
                            {
                                Preferences.saveUserInfo(user.getId(),
                                                         FetchGroups.this);
                                Preferences.saveUserName(user.getName(),
                                                         FetchGroups.this);

                                return user.getId();
                            }
                         }
                    }
              });
}

这给了我错误,onCompletd 方法的返回类型为 void。提前致谢

4

2 回答 2

1

不,你不能那样返回。创建一个全局变量并分配它并稍后使用它。

public class SomeClass  {
 String useid;

--

     Request.executeMeRequestAsync(Session.getActiveSession(), new Request.GraphUserCallback() {

                @Override
                public void onCompleted(GraphUser user, Response response) {
                    FacebookRequestError error = response.getError();
                    GraphObject graphObject = response.getGraphObject();
                    if(graphObject != null) {
                        if(error == null) {
                            Preferences.saveUserInfo(user.getId(), FetchGroups.this);
                            Preferences.saveUserName(user.getName(), FetchGroups.this);
                             userid = user.getId();
                        }
                    }
                }
            });
于 2013-07-02T06:46:35.113 回答
0

而是使 id 全局并在整个活动中访问它。

于 2013-07-02T06:44:45.747 回答