Search code examples
androidfacebookfacebook-fqlfacebook-android-sdk

Facebook new sdk - not able to get friends list


I am using the new Facebook-sdk and using the hackbook example to get the list of friends using FriendsList.java file. The Friendlist Activity gets killed everytime and I am getting this error in the logcat:

11-18 16:20:51.141: ERROR/JavaBinder(7881): !!! FAILED BINDER TRANSACTION !!!.

The issue is reproducible everytime. Note number of friends in the profile are 4500.

11-18 16:19:27.932: DEBUG/Facebook-Util(7881): GET URL: https://api.facebook.com/restserver.php?access_token=**********&query=select+name%2C+current_location%2C+uid%2C+pic_square+from+user+where+uid+in+%28select+uid2+from+friend+where+uid1%3Dme%28%29%29+order+by+name&method=fql.query&format=json

11-18 16:20:50.982: WARN/InputManagerService(3426): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4665a200
11-18 16:20:51.141: ERROR/JavaBinder(7881): !!! FAILED BINDER TRANSACTION !!!

Please help!


Solution

  • I didnt post any code because I was using the example code of Facebook sdk available at Facebook - Hackbook example for Android. Finally I found the issue and solved it.

    First the issue is not in facebook sdk but with the size of the response. If you have more than 4k friends in facebook and you query for the friends list using fql.query or graph methods then the Json response size is more than 500kb. Now if you try to pass this 500kb response via IPC (Intent extra data) to another activity the process failed with reason !! Failed binder transaction !! More info on Failed binder transaction can be found at Failed binder transaction discussion

    How I solved this issue: I used the same procedure as used in the link I have posted above. I.e. writing the response to a file and sending the file link to the other activity instead of the full 500kb size response.