Error de inicio de sesión de Android facebook sdk 1118578
Todo funcionaba bien, hasta que quise comprobar qué sucede si el usuario hace clic en el botón Iniciar sesión con Facebook sin conexión a Internet disponible.
Un brindis apareció diciendo:
- Facebook SDK v3.5.2 - Solicitar permisos desde una sesión cerrada
- Cómo confirmar que Android Share Intent se ha completado correctamente
- comparte la imagen de la aplicación de androide con la acción envía con intención no es trabajo 🙁
- ¿El facebook para Android usa https?
- Excepción al iniciar sesión con Simple API de Facebook (Sesión: se ha intentado abrir una sesión que tiene una solicitud pendiente)
Error de inicio de sesion. Póngase en contacto con el fabricante de esta aplicación y pídales que comuniquen el problema # 1118578 a Facebook.
En el logcat tengo:
D / Facebook-authorize (2824): Inicio de sesión cancelado por el usuario.
He intentado deshacerse de este brindis y mostrar mi propio mensaje de error en el método onCancel()
– pero no puedo encontrar una manera de deshabilitar ese brindis. Cuando habilité WiFi otra vez, el solo signo encendido no trabajó más!
¿Cuál podría ser la causa de esto?
private void fbLogin() { facebook.authorize(this, new String[] { "email" }, new DialogListener() { @Override public void onComplete(Bundle values) { app.save("fb_token", facebook.getAccessToken()); app.save("fb_expire", facebook.getAccessExpires()); mAsyncRunner.request("me", new meRequestListener()); } @Override public void onFacebookError(FacebookError error) {} @Override public void onError(DialogError e) {} @Override public void onCancel() {} }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); facebook.authorizeCallback(requestCode, resultCode, data); }
EDITAR:
Para responder a mi propia pregunta, eliminar android:launchMode="singleInstance"
Desde el manifiesto de la <activity>
resolvió el problema # 1118578.
Sin embargo, necesito el android:launchMode="singleInstance"
para el inicio de sesión de Twitter OAuth, ya que el navegador pasa los datos a la actividad a través de la nueva intención. Si no android:launchMode="singleInstance"
en el manifiesto, se inicia una nueva actividad y no recibe el verificador de OAuth.
¿Hay alguna manera alrededor de esto, para usar Facebook y Twitter inicio de sesión en la misma actividad? La única solución que pienso es usar una actividad ficticia para Twitter4j con singleInstance
.
- {"Error": {"message": "(# 324) Requiere archivo de carga", "type": "OAuthException", "code": 324}}
- Cómo compartir imagen con Facebook android
- Obtener enlace a mi aplicación en play.google antes de publicar mi aplicación
- Session.StatusCallback no se puede resolver con un tipo - Facebook API
- Facebook LoginActivity no se muestra correctamente
- Android / Java - Publicar texto simple en la pared de Facebook?
- Clics de Facebook SDK 4.7.0 ClassNotFoundException para AppEventsLogger
- Abrir la página de Facebook a través de la aplicación de Facebook
Mi manera de superar esto ha sido cambiando la devolución de llamada en Twitter, de "twitter: // callback" a "http: // localhost / callback" y eliminar el android: launchMode = "singleInstance" manifiesto.
Todavía puedo obtener la respuesta en el WebView (en lugar de en el onResume () como antes):
yourwebview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { // your_callback == http://localhost/callback if(url == null || !url.startsWith(your_callback)) return; Uri uri = Uri.parse(url); String ov = uri.getQueryParameter("oauth_verifier"); AccessToken at = null; ...
- Android: ¿Cómo cambiar el nivel de registro predeterminado?
- Extraer mapa de bits del vídeo en android