Request.GraphUserListCallback 上的 onCompleted 未执行

onCompleted on Request.GraphUserListCallback doesn't get executed

我有这个方法,第一个日志打印,其他的没有

我做错了什么?

也就是这个:Log.d("insideGetFriends","in");打印出来,我查看了我的日志,

Log.d("facebookError",Integer.toString(graphUsers.size()));其余行不会执行。

 public ArrayList<ParseUser> getFriends(Session session)
    {
        Log.d("insideGetFriends","in");
        final ArrayList<ParseUser> users=new ArrayList<>();
        Request.newMyFriendsRequest(session,new Request.GraphUserListCallback() {
            @Override
            public void onCompleted(List<GraphUser> graphUsers, Response response) {

                Log.d("facebookError",Integer.toString(graphUsers.size()));

                for(GraphUser user:graphUsers)
                {
                    String facebookId=user.getId();
                    Log.d("facebookFriend",facebookId);
                    ParseQuery<ParseUser> query=ParseUser.getQuery();
                    query.whereEqualTo("facebookID",facebookId);
                    query.findInBackground(new FindCallback<ParseUser>() {
                        @Override
                        public void done(List<ParseUser> parseUsers, ParseException e) {
                            users.add(parseUsers.get(0));
                        }

                    });
                }
            }

        });
        return users;
    }

看起来你不是 starting/executing 的请求。

您需要将 Request.newMyFriendsRequest(...) 的结果存储在一个变量中,然后对其调用 .executeAsync()。 这在这里解释:https://developers.facebook.com/docs/android/graph#userdata