Nếu muốn ứng dụng cập nhật mã truy cập và trang cá nhân hiện tại, bạn có thể triển khai lớp AccessTokenTracker
và ProfileTracker
.
Những lớp này gọi mã khi mã truy cập hoặc trang cá nhân thay đổi. Những lớp này sử dụng bộ thu nội bộ nên bạn cần gọi stopTracking()
trên một hoạt động hoặc gọi phương thức onDestroy()
của một phân đoạn.
Ví dụ như để sử dụng AccessTokenTracker
thay vì sử dụng hồi đáp đăng nhập:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged( AccessToken oldAccessToken, AccessToken currentAccessToken) { // Set the access token using // currentAccessToken when it's loaded or set. } }; // If the access token is available already assign it. accessToken = AccessToken.getCurrentAccessToken(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onDestroy() { super.onDestroy(); accessTokenTracker.stopTracking(); }
Bạn có thể sử dụng ProfileTracker
theo cách tương tự để theo dõi các thay đổi trong trang cá nhân hiện tại:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); profileTracker = new ProfileTracker() { @Override protected void onCurrentProfileChanged( Profile oldProfile, Profile currentProfile) { // App code } }; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onDestroy() { super.onDestroy(); profileTracker.stopTracking(); }