我想从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。提前致谢
答案 0 :(得分: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();
}
}
}
});
答案 1 :(得分:0)
而是将id设为全局,并在整个活动中访问它。