0

В настоящее время это, как мой FB Войти выглядит следующим образом:Как использовать SharedPreferences с Facebook SDK?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 
    TAG = "Login.Activity"; 

    //Callback manager manages callbacks into the FB SDK from an Activity's onActivityResult() Method. 
    callbackManager = CallbackManager.Factory.create(); 
    loginButton = (LoginButton) findViewById(R.id.login_button); 
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     //If login in successful, 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      Profile profile = Profile.getCurrentProfile(); 
      goMainScreen(profile); 
     } 
     @Override 
     public void onCancel() { 
      Toast.makeText(getApplicationContext(),R.string.cancel_login, Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void onError(FacebookException error) { 
      Toast.makeText(getApplicationContext(), R.string.error_login, Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 
private void goMainScreen(Profile profile) { 
    if(profile != null){ 
     //Passing in the name,id and photo from the profile. 
     Intent intent = new Intent(this, MainActivity.class); 
     // intent.putExtra("name",profile.getName()); 
     intent.putExtra("id",profile.getId()); 
     intent.putExtra("photo",profile.getProfilePictureUri(200,200)); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(intent); 
    } 
} 

@Override 
//All Request Code, Result Code, and data are recieved by the activity 
protected void onActivityResult(int requestCode, int resultCode, Intent data){ 
    super.onActivityResult(requestCode,resultCode,data); 
    callbackManager.onActivityResult(requestCode,resultCode,data); 
} 
} 

Я хотел бы, чтобы следить за пользовательскую сессию в течение других мероприятий и знать, если они вошли в before.Would я использую sharedpreferences для этого? Если так, я буду делать это в начале loginActivity?

ответ

0

Ну вы могли бы использовать то, что обеспечивает SDK и создать метод, как это:

public boolean isLoggedIn() { 
    AccessToken accessToken = AccessToken.getCurrentAccessToken(); 
    return accessToken != null; 
} 
+0

Так будет ли это в OnCreate метод в любой деятельности? – AndroidLearner

+0

Вызовите этот метод, когда хотите проверить, зарегистрирован ли пользователь через facebook – HelloSadness

+0

Как вы думаете, мне не придется использовать общие настройки? – AndroidLearner