إذا أردت أن يكون تطبيقك مواكبًا لرمز الوصول الحالي والصفحة الشخصية، يمكنك تنفيذ فئات 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(); }