Salida de subprocesos con excepción no captada en el complemento de Facebook para Phonegap
Estoy tratando de implementar el complemento de la API de Facebook para Phonegap utilizando el siguiente complemento … https://github.com/phonegap/phonegap-facebook-plugin/issues/183
He seguido la guía de instalación y estoy usando Phonegap 2.9.0. Para la prueba, estoy utilizando el ejemplo proporcionado en el proyecto (tanto hackbook y el simple). Y la aplicación se ejecuta en Android Jelly Bean 4.2.2
- Folleto (OSM) en Córdoba
- Cordova Phonegap y Google Maps v3 javascript api: Cómo agregar funciones backbutton al hacer clic en el enlace de la licencia o el logotipo de Google Maps
- Phonegap Cordova - Barra de estado negra en la parte inferior después de la pantalla completa
- Edificio con cordova para android crea código de la versión incorrecta
- Cómo usar la API de inicio de sesión de Google con Cordova / Phonegap
Pero cada vez que probé el inicio de sesión con el ejemplo de Facebook, después de pulsar OK en la autenticación de la aplicación, la aplicación de Android se detuvo inesperadamente.
¿Alguna sugerencia donde debo comprobar encendido?
Aquí está el error 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
- Inicio de un emulador de Android
- PhoneGap - Detecta el tipo de dispositivo en la brecha telefónica
- Mi aplicación de phonegap se ve más pequeña en teléfonos Android HD, HDPI y teléfonos XHDPI
- Cordova Android Error al cargar recurso: net :: ERR_NAME_NOT_RESOLVED
- Problema sobre FileTransfer () descargar en PhoneGap
- Uso de Appium para automatizar la aplicación híbrida
- Error de compilación iónica: no ha aceptado los acuerdos de licencia de los siguientes componentes de SDK:
- Origen nulo no está permitido por Access-Control-Allow-Origin.:1 en la vista web android?
Complemeting a @ umesh25, si utiliza cordova 2.9 esto ya está parcheado sólo comenta el registrador que está causando una NullPointerException
277. Log.d(TAG, values.toString());
En ConnectPlugin.java, reemplace:
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(); }
Con el siguiente código:
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();
Ref: NetworkOnMainThreadException en Facebook Iniciar sesión con Phonegap 1.6.0