作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Facebook 的 Android SDK(截至今天的最新版本)。用于身份验证的代码如下:
prefs = PreferenceManager.getDefaultSharedPreferences(this);
facebook = new Facebook(FACEBOOK_APP_ID);
String fbAccessToken = prefs.getString("fb_access_token", null);
long fbAccessExpires = prefs.getLong("fb_access_expires", 0);
if (fbAccessToken != null) {
facebook.setAccessToken(fbAccessToken);
}
if (fbAccessExpires != 0) {
facebook.setAccessExpires(fbAccessExpires);
}
if (!facebook.isSessionValid()) {
facebook.authorize(this, new String[] { "friends_birthday" }, new DialogListener() {
public void onComplete(Bundle values) {
SharedPreferences.Editor prefEditor = prefs.edit();
prefEditor.putString("fb_access_token", facebook.getAccessToken());
prefEditor.putLong("fb_access_expires", facebook.getAccessExpires());
prefEditor.commit();
// do some graph requests
}
public void onFacebookError(FacebookError error) {
}
public void onError(DialogError e) {
}
public void onCancel() {
}
});
}
else {
// do some graph requests
}
不幸的是,Facebook 应用程序根据该请求打开并显示“正在加载...”。几秒钟后,它就消失了,没有任何结果。
在 LogCat 中,我可以读取以下异常:
12-11 21:04:34.597: E/System(29584): Uncaught exception thrown by finalizer
12-11 21:04:34.613: E/System(29584): java.lang.IllegalStateException: Binder has been finalized!
12-11 21:04:34.613: E/System(29584): at android.os.BinderProxy.transact(Native Method)
12-11 21:04:34.613: E/System(29584): at android.database.BulkCursorProxy.close(BulkCursorNative.java:288)
12-11 21:04:34.613: E/System(29584): at android.database.BulkCursorToCursorAdaptor.close(BulkCursorToCursorAdaptor.java:133)
12-11 21:04:34.613: E/System(29584): at android.database.CursorWrapper.close(CursorWrapper.java:49)
12-11 21:04:34.613: E/System(29584): at android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1591)
12-11 21:04:34.613: E/System(29584): at android.content.ContentResolver$CursorWrapperInner.finalize(ContentResolver.java:1604)
12-11 21:04:34.613: E/System(29584): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
12-11 21:04:34.613: E/System(29584): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
12-11 21:04:34.613: E/System(29584): at java.lang.Thread.run(Thread.java:856)
这是 Facebook SDK 的常见问题吗?我不这么认为,还没有找到任何相关信息。是什么导致了这个问题?
最佳答案
您应该确保您使用的是 SDK 3.0 的最终版本(我们刚刚发布),可在 https://developers.facebook.com/android 获得。
还要确保您拥有 Java 1.6 和干净的项目/工作区。
我建议您使用现代模式进行 session 处理和登录,如该站点上的文档中所述。
关于android - 使用 Facebook 的 Android SDK 时 Binder 已经定型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13827724/
我是一名优秀的程序员,十分优秀!