Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook SDK-authorizeCallback()存在问题_Android_Facebook - Fatal编程技术网

Android Facebook SDK-authorizeCallback()存在问题

Android Facebook SDK-authorizeCallback()存在问题,android,facebook,Android,Facebook,我有一个Android应用程序,除其他外,它还可以在Facebook上发布更新 我根据示例创建了我的代码,它工作得非常好。我的代码与上面链接中的代码唯一不同之处在于,我还扩展了官方Facebook Android SDK页面上提到的onActivityResult @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityRes

我有一个Android应用程序,除其他外,它还可以在Facebook上发布更新

我根据示例创建了我的代码,它工作得非常好。我的代码与上面链接中的代码唯一不同之处在于,我还扩展了官方Facebook Android SDK页面上提到的onActivityResult

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    facebookClient.authorizeCallback(requestCode, resultCode, data);
}
但是,有时,在onActivityResult()方法中调用“facebook.authorizeCallback()”的行上会出现空指针异常


这在我的任何手机或模拟器上都从未发生过。然而,我不断收到用户崩溃报告,大部分来自Droid和T-Mobile myTouch 3G手机。我尝试了很多,但无法重现这个问题。任何人都知道可能出了什么问题吗?

通过查看Facebook.java代码,DialogListener和作为私有参数保存在类中。。。调用authorizeCallback()时,假设DialogListener退出并且不是null。但是,如果您的手机内存不足(就像我的G1一样),您的通话活动将被终止,以便为facebook登录过程腾出内存。当您调用autherizeCallback函数时,将删除DialogListener,您将收到空指针异常,或忽略回调。
这可能是您的问题的原因。

我也遇到了同样的问题,通过复制
Facebook.DialogListener.onComplete(捆绑值)
Facebook客户端.authorizeCallback(requestCode,resultCode,data)NPE的catch中的代码解决了这个问题


首先,我在没有调用
authorizeCallback
的情况下尝试了该代码,但会话尚未建立
authorizeCallback
完成了所有需要的操作,但未能调用侦听器。因此,在NPE catch中复制侦听器逻辑似乎可以解决问题。

我也有同样的问题,我的应用程序的一些用户报告了一个chrash,也许,最后,我能够系统地重现这个问题。 在安卓4上,“开发者选项”中有一个参数,“不要保留活动”。 如果启用它,每次通过SSO登录应用程序时,都会发生崩溃。 问题发生在Facebook.class的行中:mAuthDialogListener.onComplete(data.getExtras()); 因为mAuthDialogListener为null。
此报告问题的方法与Raanan提到的情况相同。

这可能是因为在通过调用回调重新启动应用程序时,会创建活动的新实例。但是,facebookClient只是在onClick()中实例化的。如果是这样的话,那么每次我试图在Facebook上发布一些东西时,这个问题不是都会发生吗?但是,此问题发生的时间不到1%。您曾经解决过此问题吗?我也有同样的问题:在我的手机/模拟器上工作,但在其他手机(即Moto Droids)上崩溃。不,我没有。我在某个地方读到,这是一个问题,一个特定的建设来与机器人。现在,我在我的应用程序描述中明确提到FB publishing可能不适用于包括Droid在内的几款手机,我还加入了一个try-catch块,该块在屏幕上显示一个错误,表示FB publishing失败。请让我知道,如果你得到的问题的底部!显然,这是Droid的普遍问题,而不仅仅是Facebook。非常有趣。我一直无法在自己的手机上重现这个问题,不过,下次我见到朋友时,让我在朋友的手机上试试,然后再告诉你这个问题有多成功。谢谢分享。