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大小响应.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...