Java 使用google play服务加载所有好友

Java 使用google play服务加载所有好友,java,android,google-play-services,Java,Android,Google Play Services,这里有一个用于加载好友的代码。此代码是旧代码,我已将其更新为新版本: public static void loadFriends(JSONObject parameters) { if (mFriends.size() > 0) { mFriends.clear(); } ((AppActivity)mContext).runOnUiThread(new Runnable() { publi

这里有一个用于加载好友的代码。此代码是旧代码,我已将其更新为新版本:

public static void loadFriends(JSONObject parameters) {
        if (mFriends.size() > 0) {
            mFriends.clear();
        }

        ((AppActivity)mContext).runOnUiThread(new Runnable() {
            public void run() {
                 Games.Players.loadInvitablePlayers(((AppActivity)mContext).getApiClient(), FRIENDS_PER_PAGE, false).setResultCallback(new ResultCallback<LoadPlayersResult>(){

                        @Override
                        public void onResult(LoadPlayersResult result) {

                            Log.w("GOOGLE SERVICES ****** ", "onResult");
                            PlayerBuffer playerBuffer = result.getPlayers();
                            for (Player player : playerBuffer) {
                                mFriends.add(player);
                                Log.i("GOOGLE SERVICES ---- ", String.format("Found player with id [%s] and display name [%s]", player.getPlayerId(), player.getDisplayName()));
                            }

                            if (playerBuffer.getCount() == FRIENDS_PER_PAGE) {
                                Log.w("GOOGLE SERVICES +++=== ", "loadMoreInvitablePlayers");
                                Games.Players.loadMoreInvitablePlayers(((AppActivity)mContext).getApiClient(), FRIENDS_PER_PAGE);
                            } else {
                                // call out and return all the friends 
                                Log.w("GOOGLE SERVICES======== ", "call out and return all the friends");
                                for (Player friend : mFriends) {
                                    Log.i("GOOGLE SERVICES", String.format("Found player with id [%s] and display name [%s]", friend.getPlayerId(), friend.getDisplayName()));
                                }
                            }
                        } // onResult

                 }); // loadInvitablePlayers
            } // run
        }); // runOnUiThread
    }
publicstaticvoidloadfriends(JSONObject参数){
如果(mFriends.size()>0){
mFriends.clear();
}
((AppActivity)mContext.runOnUiThread(new Runnable()){
公开募捐{
Games.Players.loadInvitablePlayers(((AppActivity)mContext).getApiClient(),FRIENDS_PER_PAGE,false).setResultCallback(new ResultCallback()){
@凌驾
public void onResult(LoadPlayerResult结果){
Log.w(“谷歌服务*******”,“onResult”);
PlayerBuffer PlayerBuffer=result.getPlayers();
用于(玩家:playerBuffer){
添加(玩家);
Log.i(“GOOGLE服务----”,String.format(“找到id为[%s]且显示名称为[%s]的播放器”,player.getPlayerId(),player.getDisplayName());
}
如果(playerBuffer.getCount()==每个页面的好友数){
w(“谷歌服务+++=”,“LoadMoreInvitablePlayer”);
Games.Players.LoadMoreInvisitablePlayer(((AppActivity)mContext.getApiClient(),每页好友);
}否则{
//把所有的朋友都叫回来
Log.w(“谷歌服务========”,“呼叫并返回所有朋友”);
对于(玩家朋友:mFriends){
Log.i(“GOOGLE服务”,String.format(“找到id为[%s]且显示名称为[%s]的播放器”,friend.getPlayerId(),friend.getDisplayName());
}
}
}//onResult
})//
}//运行
});//runOnUiThread
}
但这很奇怪。它从第一次调用加载20个播放器,而页面大小为10,并认为所有播放器都已加载。但实际上我有更多的朋友。如何加载我所有的朋友?

根据,这种行为是正常的:

要为此初始页请求的条目数。请注意,如果缓存数据已存在,返回的缓冲区可能包含超过此大小的数据,但如果集合包含足够的记录,则保证至少包含此数量的数据。此值必须介于1和25之间