Cómo comprobar los usuarios que ya han iniciado sesión en android (Facebook SDK 4.0)
Aquí está mi código:
public class LocationDetailActivity extends ActionBarActivity { private CallbackManager mCallBackManager; private FacebookCallback<LoginResult> mCallBack; private ImageView mBtnBack; AccessToken token; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.location_detail_layout); FacebookSdk.sdkInitialize(getApplicationContext()); share = (ImageButton) findViewById(R.id.imageShare); token = AccessToken.getCurrentAccessToken(); share.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(token == null) { final Dialog dialog = new Dialog(LocationDetailActivity.this); dialog.setContentView(R.layout.share_custom_dialog); dialog.setTitle("Login as:"); dialog.show(); mCallBackManager = CallbackManager.Factory.create(); mCallBack = new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { Profile profile = Profile.getCurrentProfile(); if(profile!=null){ dialog.cancel(); ShareDialog shareDialog = new ShareDialog(LocationDetailActivity.this); if(shareDialog.canShow(ShareLinkContent.class)){ ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://developers.facebook.com")) .build(); shareDialog.show(content); } } } @Override public void onCancel() { } @Override public void onError(FacebookException e) { } }; LoginButton loginButton = (LoginButton)dialog.findViewById(R.id.login_button); loginButton.setReadPermissions("user_friends"); loginButton.registerCallback(mCallBackManager, mCallBack); } else if(token != null){ ShareDialog shareDialog = new ShareDialog(LocationDetailActivity.this); if(shareDialog.canShow(ShareLinkContent.class)){ ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("https://developers.facebook.com")) .build(); shareDialog.show(content); } } } }); @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mCallBackManager.onActivityResult(requestCode, resultCode, data); }
}
- Firebase sobrescribe Signin con la cuenta de Google
- Facebook SDK + SlidingMenu SDK = Desajuste de los tarros! Corregir sus dependencias
- El inicio de sesión de API de Facebook falla con la aplicación FB instalada en el teléfono
- RELEASE_KEY_ALIAS y RELEASE_KEY_PATH valores para generar clave hash
- Android: Cómo vincular parse.com a facebook
Quiero comprobar si el usuario ya ha iniciado sesión desde la aplicación de Facebook. Si no lo hicieron, mi aplicación mostrará un cuadro de diálogo personalizado con el botón de inicio de sesión. De lo contrario, mi aplicación mostrará el diálogo Compartir . Pero cuando hago clic en mi botón, el cuadro de diálogo personalizado siempre se mostrará incluso he conectado en Facebook. Por favor ayúdeme a arreglar esto. ¡Gracias de antemano! 😉
Más información: token AccessToken = AccessToken.getCurrentAccessToken ();
- ¿Estaría bloqueando Facebook Androoid SDK mi apps en el nivel de api por debajo de 15?
- Openssl no se reconoce en el símbolo del sistema - Android?
- Ejemplo de Facebook SSO no funciona - "Ocurrió un error. Por favor, inténtelo de nuevo más tarde"
- Crear una solicitud en Facebook SDK 4 (Android)
- Cómo agregar Facebook Android SDK con @AAR
- Cómo utilizar el token de acceso de Facebook en la vista de la aplicación de Android
- Cambio de token de autenticación de Facebook
- Facebook 3.0 Android segundo intento de inicio de sesión devuelve "Estado de sesión cerrado"
En una investigación rápida, debe implementar nuevos métodos para verificar una sesión activa en facebook SDK 4.0, como:
- Inicializado su Facebok SDK (supongo que ya lo haces)
- Implementar AccessTokenTracker
Tratar de ver este post , supongo que puede ayudarle
- ¿Cómo podemos saber que la transición de elementos compartidos de la actividad va a ejecutarse?
- Cámara de Córdoba para tomar varias fotos una tras otra