Jika Anda ingin aplikasi Anda tetap yang terbaru dengan token akses dan profil saat ini, Anda dapat menerapkan kelas AccessTokenTracker
dan ProfileTracker
.
Kelas tersebut memanggil kode Anda saat terjadi perubahan token akses atau profil. Secara internal mereka menggunakan penerima, jadi Anda harus memanggil stopTracking()
di sebuah aktivitas atau panggil metode onDestroy()
sebuah fragmen.
Misalnya, menggunakan AccessTokenTracker
, bukan menggunakan callback masuk:
@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(); }
Anda dapat menggunakan ProfileTracker
dengan cara yang sama untuk melacak perubahan di profil saat ini:
@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(); }