我使用以下代码来获取我的facebook用户配置文件,问题是,当我触发newMeRequest时,它永远不会响应。
会话已经打开,我也在manifest.xml中添加了互联网权限,如何修复它?谢谢你的帮助
public class ProfileFragment extends Fragment {
private View rootView;
private ImageView profilePic;
private Context ctx;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ctx = getActivity();
rootView = inflater.inflate(R.layout.profile, container, false);
profilePic = (ImageView) rootView.findViewById(R.id.profile_pic);
Session session = Session.getActiveSession();
if (session.isOpened()) {
Log.d("test1","success 123");
Request.newMeRequest(session, new MeReqCallback());
} else {
Log.d("test1","fail 123");
}
return rootView;
}
private class MeReqCallback implements GraphUserCallback {
@Override
public void onCompleted(GraphUser user, Response response) {
Log.d("test1",response.getError().getErrorMessage());
new ImageLoader(ctx).execute(profilePic,"https://graph.facebook.com/"+ user.getId() +"/picture");
}
}
记录后,它落入成功123,但它甚至没有落入onCompleted函数,这意味着甚至没有记录错误消息。
谢谢
您没有实际执行请求。在请求定义的末尾添加.executeAsync()
。
这是我昨天在这里回答的相同问题(当尝试通过Facebook iOS Graph API与应用范围的用户id获取用户照片时,应用程序崩溃)。
请求/me/picture
导致http 304重定向,显然ImageLoader()
不能处理您当前使用的重定向方式