7

Este es mi código para iniciar sesión en Facebook.iniciando sesión en Facebook desde mi aplicación funciona en el emulador pero no en el dispositivo

mLoginButton = (LoginButton) findViewById(R.id.login); 

     // restore session if one exists 
     SessionStore.restore(Utility.mFacebook, this); 
     SessionEvents.addAuthListener(new FbAPIsAuthListener()); 
     SessionEvents.addLogoutListener(new FbAPIsLogoutListener()); 

     /* 
     * Source Tag: login_tag 
     */ 
     mLoginButton.init(this, AUTHORIZE_ACTIVITY_RESULT_CODE, Utility.mFacebook, permissions); 

     if (Utility.mFacebook.isSessionValid()) { 
      requestUserData(); 
     } 
public class FbAPIsAuthListener implements AuthListener { 

     //@Override 
     public void onAuthSucceed() { 
      requestUserData(); 
     } 

     //@Override 
     public void onAuthFail(String error) { 
      mText.setText("Login Failed: " + error); 
     } 
    } 

    /* 
    * The Callback for notifying the application when log out starts and 
    * finishes. 
    */ 
    public class FbAPIsLogoutListener implements LogoutListener { 
     //@Override 
     public void onLogoutBegin() { 
      mText.setText("Logging out..."); 
     } 

     ///@Override 
     public void onLogoutFinish() { 
      mText.setText("You have logged out! "); 
      mUserPic.setImageBitmap(null); 
     } 
    } 

El emulador que funciona perfecto. Lo he intentado en dispositivos ton 3, que ya tienen Facebook instalado y aquí está el problema.

simplemente está girando durante la carga y no hace nada. Veo el botón de inicio de sesión nuevamente. Luego traté de desconectarme de la aplicación original de Facebook, y al presionar el botón de inicio de sesión en mi aplicación, veo la ventana de inicio de sesión pero ahora que solía ver al iniciar sesión en el emulador pero la ventana de inicio de sesión de la aplicación original de Facebook. Al igual que ha comenzado este.

el código que estoy utilizando es tomado de la hackbook.java

+0

¿Tiene la aplicación de Facebook instalada en el emulador como la que tiene en el (los) dispositivo (s)? Además, actualmente hay problemas con el SDK de Android, como se indica en [Estado de la plataforma] (http://developers.facebook.com/live_status/). También puede intentar ejecutar un sniffer de red para verificar las respuestas –

+0

no en el emulador no está instalado. –

Respuesta

3

La Plataforma de estado dice que hay un problema con el SSO.

El SSO sólo funciona si tiene la función de Facebook instalado en el dispositivo androide, y lo que usted describe se adapta perfectamente a todo esto. En el emulador no tiene la aplicación de Facebook, por lo que cuando la aplicación intenta iniciar sesión el usuario usa el cuadro de diálogo que tiene en el SDK en lugar de usar el proceso SSO que se envía con la aplicación fb.

En el dispositivo cómo cada vez que usted dijo que usted tiene la aplicación fb, por lo que el SSO entra en acción y, al menos en la actualidad, hay un problema con él. Intente desinstalar la aplicación de Facebook en el dispositivo o simplemente cancele el SSO, es decir: How to disable Facebook single sign on for android - Facebook-android-sdk

+0

si lo desinstalo, se ejecuta, pero el usuario normal obviamente no va a desinstalar la aplicación original de Facebook para instalar la mía. –

+0

Claramente, solo estaba sugiriendo eso para asegurarme de que el problema que tiene se deba al problema que tiene Facebook con el SSO. Ahora que sabemos que es el problema, no tienes nada que hacer más que esperar a que solucionen el problema. Es un riesgo que está tomando trabajar con otras API. –

+0

soluciones particulares para esto o cualquier solución para esto? –

0

Debe generar la clave hash de su sistema y simplemente colocarla editando la aplicación existente de Facebook.

Cuestiones relacionadas