Facebook SDK 4 para Android – cómo cerrar sesión mediante programación

Recientemente, Facebook lanzó SDK 4 con actualizaciones nuevas y frescas. Intenté cambiar en SDK4 para usar nuevas características, sin embargo, estoy luchando con la característica de inicio de sesión de Facebook.

Hasta ahora, para cerrar sesión de Facebook mediante programación, he utilizado:

Session session = Session.getActiveSession(); session.closeAndClearTokenInformation(); 

Pero SDK4 parece no dar soporte a Session ya, y en documentos oficiales, mencionan:

Hay dos maneras de implementar el inicio de sesión de Facebook en Android:

Clase LoginButton – que proporciona un botón que puede agregar a su interfaz de usuario. Sigue el token de acceso actual y puede registrar personas dentro y fuera.

Bueno, parece que no hay manera de salir de Facebook mediante programación, excepto con el uso de LoginButton. Cualquier persona tiene alguna idea, por favor comparta aquí.

Puede utilizar LoginManager.getInstance().logOut(); , Incluso si utiliza LoginButton porque

Este elemento de interfaz de usuario envuelve la funcionalidad disponible en LoginManager.

EDIT: Sólo para mencionar que esto funciona para Facebook SDK v4 . No sé si lo cambiarán en el futuro.

@as batoutofhell mención, no se olvide de poner FacebookSdk.sdkInitialize(getApplicationContext()); Para inicializar el facebook sdk. Por favor vea aquí para los detalles.

SDK4, si desea desactualizar completamente, asegúrese de eliminar la aplicación de la cuenta de Facebook del usuario. Este método desconecta completamente al usuario:

 public void disconnectFromFacebook() { if (AccessToken.getCurrentAccessToken() == null) { return; // already logged out } new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest .Callback() { @Override public void onCompleted(GraphResponse graphResponse) { LoginManager.getInstance().logOut(); } }).executeAsync(); } 

Puede utilizar LoginManager.logOut ()

Echa un vistazo a https://developers.facebook.com/docs/reference/android/current/class/LoginManager/

Para manejarlo con el loginButton:

 //Check if user is currently logged in if (AccessToken.getCurrentAccessToken() != null && com.facebook.Profile.getCurrentProfile() != null){ //Logged in so show the login button fbLogin.setVisibility(View.VISIBLE); fbLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //log out LoginManager.getInstance().logOut(); gotoLogin(); } }); } 

U puede cerrar sesión utilizando LoginManager pero u tiene que utilizar la solicitud de gráfico también. Estoy hablando de cerrar sesión completamente por lo que, la próxima vez que u puede iniciar sesión con cuenta diferente.

 new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest .Callback() { @Override public void onCompleted(GraphResponse graphResponse) { SharedPreferences pref = DashBoard.this.getPreferences(Context.MODE_PRIVATE); SharedPreferences.Editor editor = pref.edit(); editor.clear(); editor.commit(); LoginManager.getInstance().logOut(); Intent logoutint = new Intent(DashBoard.this,MainActivity.class); logoutint.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(logoutint); } }).executeAsync(); 

Por la ayuda de las preferencias compartidas aquí u puede cerrar la sesión completamente. Y la próxima vez u puede cerrar sesión con otra cuenta.

  • Compartir la devolución de llamada no funciona con Facebook SDK 4 Android
  • Guardar información sobre el usuario de facebook para usar en otra actividad
  • FacebookButton SDK v4 LoginButton ignora las personalizaciones XML
  • Fb app invita con código de referencia
  • Error: Clase no encontrada al desmarcar: com.facebook.login.Login Solicitud del cliente
  • Cómo obtener la dirección de correo electrónico del usuario registrado con la solicitud de gráfico en Facebook Android sdk 4.0
  • Preguntas sobre desarrollo y lanzamiento de hachas clave para Facebook SDK para Android
  • Comparte con Facebook Messenger
  • Cómo habilitar las pestañas personalizadas de Chrome para iniciar sesión en Facebook con Android SDK
  • Facebook SDK 4.0 ShareDialog
  • FacebookCallback.onCancel se llama cuando se intenta iniciar sesión con facebook sdk
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.