Facebook 新 sdk - 无法获取好友列表

Tar*_*run 1 android facebook facebook-fql facebook-android-sdk

我正在使用新的Facebook-sdk并使用 hackbook 示例来获取使用文件的朋友列表FriendsList.java。每次都会Friendlist Activity被杀死,我在 logcat 中收到此错误:

11-18 16:20:51.141: ERROR/JavaBinder(7881): !!! FAILED BINDER TRANSACTION !!!.
Run Code Online (Sandbox Code Playgroud)

该问题每次都会重现。请注意,个人资料中的好友数量为 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 !!!
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Tar*_*run 5

我没有发布任何代码,因为我使用的是 Facebook - Hackbook example for Android 上提供的 Facebook sdk 示例代码 最后我发现了问题并解决了。

首先,问题不在于 facebook sdk,而在于响应的大小。如果您在 facebook 中有超过 4k 好友,并且您使用fql.query图形方法查询好友列表,则 Json 响应大小将超过 500kb。现在,如果您尝试通过 IPC(意图额外数据)将此 500kb 响应传递给另一个活动,则该过程会失败!活页夹交易失败!!有关失败的活页夹交易的更多信息可以在失败的活页夹交易讨论 中找到

我如何解决这个问题: 我使用了与上面发布的链接中使用的相同的过程。即,将响应写入文件并将文件链接发送到其他活动,而不是完整的 500kb 大小的响应。