[英]facebook sdk 4.0 equivalent for Session.StatusCallBack and OpenRequest in android
[英]Programmatically clear Facebook SDK 4.0 session on Android
我將Facebook登錄集成到我的應用程序中,它運行正常。 問題在於注銷。
當我在設備上打開Facebook應用程序時,我可以執行注銷,以便下次打開它時,它會詢問我如果我想使用我的常用帳戶登錄,使用其他帳戶登錄,甚至創建新帳戶。 好,這是預期的。
但我的應用程序不會發生這種情況。 我的意思是,如果用戶打開我的應用程序,請單擊“注銷”並運行以下代碼
// Initialize Facebook SDK on the beginning.
FacebookSdk.sdkInitialize(this.getApplicationContext());
...
// Logout on user choice.
LoginManager.getInstance().logOut();
下次他回到應用程序並點擊登錄時,他將直接使用他的帳戶登錄,不會詢問他想要登錄的每個帳戶。
我想我需要清除所有保存的信息(令牌?),這些信息被用於直接登錄。 它是否正確? 如果是,我該怎么辦?
謝謝,
我正在使用這種方法。 這是SDK 4.6.0,但我想它應該與4.0相同。 如果沒有,只需升級;)
public void logoutFromFacebook(final LogoutFacebookListener listener) {
if (AccessToken.getCurrentAccessToken() == null) {
// already logged out
listener.onLoggedOutFromFacebook();
return;
}
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
LoginManager.getInstance().logOut();
listener.onLoggedOutFromFacebook();
}
}).executeAsync();
}
監聽器:
public interface LogoutFromFacebookListener {
void onLoggedOutFromFacebook();
}
它就像你試圖登錄時一樣,facebook sdk在你的情況下使用你的網絡瀏覽器(chrome等)。 當你調用LoginManager.getInstance().logOut();
你只是從facebook sdk注銷,但你仍然在你的網絡瀏覽器中登錄。 Android和iOS SDK目前不支持重新身份驗證。 希望他們將來會出現;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.