6

我正在使用 FB-android-SDK 3.0。在 SSO 时,如果我在 facebook 登录页面(FB 应用程序)上按下后退按钮,则会生成异常。这是堆栈跟踪。

01-11 22:35:07.146: E/AndroidRuntime(13076): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=0, data=null} to activity {com.nitinbansal85.android.testfacebook1/com.facebook.LoginActivity}: java.lang.NullPointerException
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3386)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3428)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.ActivityThread.access$2700(ActivityThread.java:125)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1944)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.os.Looper.loop(Looper.java:123)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.ActivityThread.main(ActivityThread.java:4420)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at java.lang.reflect.Method.invokeNative(Native Method)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at java.lang.reflect.Method.invoke(Method.java:521)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:682)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at dalvik.system.NativeStart.main(Native Method)
01-11 22:35:07.146: E/AndroidRuntime(13076): Caused by: java.lang.NullPointerException
01-11 22:35:07.146: E/AndroidRuntime(13076):    at com.facebook.AuthorizationClient$KatanaProxyAuthHandler.onActivityResult(AuthorizationClient.java:645)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at com.facebook.AuthorizationClient.onActivityResult(AuthorizationClient.java:142)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at com.facebook.LoginActivity.onActivityResult(LoginActivity.java:134)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.Activity.dispatchActivityResult(Activity.java:3828)
01-11 22:35:07.146: E/AndroidRuntime(13076):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3382)

我已经将执行 SSO 的代码包装在 中FacebookOperationCanceledException,但它没有被抛出。

我在这里错过了什么吗?

编辑:应用程序崩溃!

4

2 回答 2

13

这是一个报告的错误:facebook 错误报告

这是我的解决方法:

String errorMessage = "Login cancelled!";
            if(data != null && data.getStringExtra("error") != null)
            {
                errorMessage = data.getStringExtra("error");
            }

outcome = Result.createCancelResult(errorMessage );

您在第 645 行的 AuthorizationClient.java 中进行这些修改

于 2013-01-16T10:18:07.140 回答
4

此错误已在 facebook-android-sdk-3.0.1 中修复。最好下载并使用它。为我工作。

于 2013-04-13T07:41:09.533 回答