【问题标题】:Thread Exiting with Uncaught Exception in Facebook plugin for PhonegapPhonegap 的 Facebook 插件中的线程退出并出现未捕获的异常
【发布时间】:2013-07-21 05:38:59
【问题描述】:

我正在尝试使用以下插件为 Phonegap 实现 facebook API 插件... https://github.com/phonegap/phonegap-facebook-plugin/issues/183

我按照安装指南操作,我使用的是 Phonegap 2.9.0。为了进行测试,我使用了项目中提供的示例(hackbook 和简单的示例)。该应用程序在 Android Jelly Bean 4.2.2 中运行

但每当我尝试使用 facebook 示例登录时,在应用身份验证上点击 OK 后,android 应用就会意外停止。

有什么建议我应该在哪里检查?

这是 LogCat 错误:

    07-21 12:25:10.568: W/dalvikvm(4288): threadid=1: thread exiting with uncaught exception (group=0x40e32930)
07-21 12:25:10.568: E/AndroidRuntime(4288): FATAL EXCEPTION: main
07-21 12:25:10.568: E/AndroidRuntime(4288): java.lang.NullPointerException
07-21 12:25:10.568: E/AndroidRuntime(4288):     at org.apache.cordova.facebook.ConnectPlugin$AuthorizeListener.onComplete(ConnectPlugin.java:283)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at com.facebook.android.Facebook.onSessionCallback(Facebook.java:345)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at com.facebook.android.Facebook.access$11(Facebook.java:326)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at com.facebook.android.Facebook$1.call(Facebook.java:304)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at com.facebook.Session$3$1.run(Session.java:1190)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at android.os.Handler.handleCallback(Handler.java:725)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at android.os.Looper.loop(Looper.java:137)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at android.app.ActivityThread.main(ActivityThread.java:5227)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at java.lang.reflect.Method.invokeNative(Native Method)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at java.lang.reflect.Method.invoke(Method.java:511)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
07-21 12:25:10.568: E/AndroidRuntime(4288):     at dalvik.system.NativeStart.main(Native Method)
07-21 12:25:19.787: I/Process(4288): Sending signal. PID: 4288 SIG: 9

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    补充@umesh25,如果使用cordova 2.9,这已经被修补了,只需评论导致NullPointerException的记录器

    277. Log.d(TAG, values.toString());
    

    【讨论】:

      【解决方案2】:

      在 ConnectPlugin.java 中,替换:

      try {
          JSONObject o = new JSONObject(this.fba.facebook.request("/me"));
          this.fba.userId = o.getString("id");
          this.fba.success(getResponse(), this.fba.callbackId);
      } catch (MalformedURLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      } catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
      

      使用以下代码:

      Thread t = new Thread(new Runnable() {
          public void run() {
              try {
                  JSONObject o = new JSONObject(fba.facebook.request("/me"));
                  fba.userId = o.getString("id");
                  fba.success(getResponse(), fba.callbackId);
              } catch (MalformedURLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              } catch (JSONException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
          }
      });
      t.start();
      

      参考:NetworkOnMainThreadException on Facebook Login with Phonegap 1.6.0

      【讨论】:

        猜你喜欢
        • 2016-02-09
        • 2013-04-11
        • 2017-10-01
        • 1970-01-01
        • 2015-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多