1

Je me connecte mon application Android en utilisant le login Facebook. Ici, je vérifie que le jeton d'accès est nul ou pas pour que je puisse passer à une autre activité après la connexion. Cela fonctionne bien. S'il vous plaît, aidez-vous s'il y a une meilleure façon de déplacer une autre activité lorsque le facebook est déjà connecté?meilleure façon de sauter facebook page de connexion dans android si elle est déjà connecté

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_boringmain); 

    callbackManager = CallbackManager.Factory.create(); 
    List<String> permissions = new ArrayList<>(); 
    permissions.add("email"); 

    loginButton = (LoginButton) findViewById(R.id.login_button); 
    loginButton.setReadPermissions(permissions); 

    profileTracker = new ProfileTracker() { 
     @Override 
     protected void onCurrentProfileChanged(Profile profile, Profile profile1) { 
      Profile.setCurrentProfile(profile1); 
     } 
    }; 

    profileTracker.startTracking(); 

    accessTokenTracker = new AccessTokenTracker() { 
     @Override 
     protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,AccessToken currentAccessToken) { 
       AccessToken.setCurrentAccessToken(currentAccessToken); 
     } 
    }; 

    if (AccessToken.getCurrentAccessToken()!=null) { 
     Intent intent = new Intent(boringmain.this, UserProfile.class); 
     startActivity(intent); 
     } 
    else 
     { 
     Log.e("S","User not logged in "); 
     } 

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      getUserDetails(loginResult); 

     }; 

     @Override 
     public void onCancel() { 
      // App code 
     } 

Y a-t-il une meilleure méthode dans le scénario ci-dessus? L'utilisation du tracker de profil et du tracker de jetons d'accès est-elle correcte?

Répondre

0

Vérifier si l'utilisateur est connecté en appelant

if (AccessToken.getCurrentAccessToken()!=null) 

est une bonne façon. Mais à mon avis meilleur endroit pour vérifier c'est avant d'ouvrir l'activité de connexion. Vous pouvez appeler ce code partout où vous voulez et si AccessToken.getCurrentAccessToken() est null puis ouvrez l'activité de connexion

Login Activité vous devez aller à une autre activité après la connexion de succès ici:

loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
    @Override 
    public void onSuccess(LoginResult loginResult) { 
     //START NEW ACTIVITY AFTER CORRECT LOGIN HERE 

     Intent intent = new Intent(boringmain.this, UserProfile.class); 
     startActivity(intent); 
    }; 

    @Override 
    public void onCancel() { 
    }; 
    });