微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Facebook新sdk – 无法获得好友列表

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

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

这个问题每次都可以重现.注意配置文件中的朋友数量为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 !!!

请帮忙!

解决方法:

我没有发布任何代码,因为我在Facebook – Hackbook example for Android.使用Facebook sdk的示例代码
最后我找到了问题并解决了它.

首先问题不在于facebook sdk,而在于响应的大小.如果你在facebook上有超过4k的朋友,并且你使用fql.query或graph方法查询朋友列表,那么Json响应大小超过500kb.现在,如果您尝试通过IPC(意图额外数据)将此500kb响应传递给另一个活动,则该过程失败,原因!活页夹交易失败!!
有关失败活页夹交易的更多信息,请访问Failed binder transaction discussion

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐