หากต้องการให้แอพติดตามโทเค็นการเข้าถึงและโปรไฟล์ปัจจุบัน คุณสามารถดำเนินการคลาส AccessTokenTracker
และ ProfileTracker
ได้
คลาสเหล่านี้จะเรียกโค้ดของคุณเมื่อโทเค็นการเข้าถึงหรือโปรไฟล์เปลี่ยนแปลง คลาสเหล่านี้ใช้ตัวรับภายใน คุณจึงต้องเรียก stopTracking()
ในกิจกรรมหรือเรียกวิธีการ onDestroy()
ของแฟรกเมนต์
เช่น ใช้ AccessTokenTracker
แทนการเรียกกลับการเข้าสู่ระบบ ดังนี้
@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(); }
คุณสามารถใช้ ProfileTracker
ในแบบเดียวกันที่ติดตามการเปลี่ยนแปลงโปรไฟล์ปัจจุบันได้
@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(); }