[英]How my app can know when user logout from its Android native Facebook app?
[英]How can I logout from Facebook in my custom Android app?
我正在構建一個使用Facebook登錄名的Android應用程序,登錄Facebook之后,我獲得了access_token和會話,它們以私有模式存儲在共享首選項中。
我在活動中使用下面的Facebook登錄代碼,我希望用戶從另一個片段中退出Facebook。 如何在片段上編碼,以使我當前的登錄帳戶從Facebook注銷?
這是我的Facebook登錄代碼:
/**
* Function to login into facebook
*/
@SuppressWarnings("deprecation")
public void loginToFacebook() {
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if (access_token != null) {
facebook.setAccessToken(access_token);
// call getprofileinformation function to get user details
getProfileInformation();
Log.d("FB Sessions", "" + facebook.isSessionValid());
}
if (expires != 0) {
facebook.setAccessExpires(expires);
}
if (!facebook.isSessionValid()) {
facebook.authorize(this,
new String[]{"email", "publish_stream"},
new Facebook.DialogListener() {
@Override
public void onCancel() {
// Function to handle cancel event
}
@Override
public void onComplete(Bundle values) {
// Function to handle complete event
// Edit Preferences and update facebook acess_token
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token",
facebook.getAccessToken());
editor.putLong("access_expires",
facebook.getAccessExpires());
editor.commit();
// call getprofileinformation function to get user
// details
getProfileInformation();
}
@Override
public void onError(DialogError error) {
// Function to handle error
}
@Override
public void onFacebookError(FacebookError fberror) {
// Function to handle Facebook errors
}
});
}
}
對於4.xx版本 -
LoginManager.getInstance().logOut();
嘗試這個 :
private static void LogoutFB(Context context) {
Session session = Session.getActiveSession();
if (session != null) {
if (!session.isClosed()) {
session.closeAndClearTokenInformation();
//clear your preferences if saved
}
} else {
session = new Session(context);
Session.setActiveSession(session);
session.closeAndClearTokenInformation();
//clear your preferences if saved
}
}
調用此closeAndClearTokenInformation方法以從facbook注銷。 此方法關閉本地內存中的Session對象,並清除所有與Session相關的持久令牌緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.