0

目前,這是我的FB登錄看起來像:如何在Facebook SDK中使用SharedPreferences?

@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

相關問題