profile.getinstalled()每次在调试模式下都返回null

时间:2014-05-01 15:25:51

标签: android facebook facebook-graph-api android-simple-facebook

我正在使用此库将我的应用程序https://github.com/sromku/android-simple-facebook.Its与调试模式运行的app集成,我需要使用邀请朋友功能并获取已安装我的应用程序但无论是否工作的用户的朋友.Profile.getinstalled返回null并且邀请朋友没有显示web视图来选择friends.Is这是因为我的应用程序处于调试模式(因为它的工作正常与http获取请求)?

获取个人资料信息,朋友信息等工作正常。我甚至可以使用http get方法(https://graph.facebook.com/fbid?access_token=appid|appsecret&fields=installed)获取已安装我的应用程序的用户的朋友,但使用此方法检查每个朋友减慢了整个过程。请帮我解决这个问题。

{  
   mSimpleFacebook = SimpleFacebook.getInstance(this);
   mSimpleFacebook.getFriends(onFriendsListener);

OnFriendsListener onFriendsListener = new OnFriendsListener() { 
         @Override
            public void onComplete(List<Profile> friends) {
                Boolean appInstallationStatus;
                for (int i = 0; i < friends.size(); i++) {
                  Profile E= friends.get(i);
                  if(E.getInstalled()!=null)
                  {
               System.out.println("----->"+E.getInstalled());
                       //Set a list adapter here
                  }
                }
            }


}

这里E.getinstalled()总是为null但是当我使用get方法时它会给我真或假。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:0)

我有一个解决方法。

@Override
    public void onComplete(List<Profile> friends) {

        facebookFriendArrayList = new ArrayList<FacebookFriendListDTO>();

        for (Profile profile : friends) {
            friendListDto = new FacebookFriendListDTO();
            try {
                if (profile.getInstalled()) {
                    friendListDto.setUserName(profile.getName());
                    friendListDto.setUserBirthday(profile.getBirthday());
                    friendListDto.setUserId(profile.getId());
                    friendListDto.setUserProfilePic(profile.getPicture());

                    facebookFriendArrayList.add(friendListDto);
                }
            } catch (NullPointerException ex) {
                continue;
            }
        }

        facebookFriendListAdapter = new friendListAdapter(getActivity(),
                facebookFriendArrayList);
        facebookFriendListView.setAdapter(facebookFriendListAdapter);
    }

希望有所帮助。

此致