6

我在我的应用程序中使用 facbook sdk。当我通过 facebook sdk 登录我的应用程序时,一切正常,但是当我打开 Facebook 应用程序并从 Facebook 应用程序注销时,我的应用程序仍然登录。那么如何添加一个监听器来监听来自 Facebook SDK 的注销事件?

4

3 回答 3

5

这是一个老问题,但我想更新一个答案。

在 Facebook API 4.0 中(在撰写本文时是最新的)您可以使用AccessTokenTracker

    AccessTokenTracker accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(AccessToken accessToken, AccessToken accessToken2) {
            Log.d(TAG, "onCurrentAccessTokenChanged()");
            if (accessToken == null) {
                // Log in Logic
            } else if (accessToken2 == null) {
                // Log out logic
            }
        }
    };
于 2015-05-06T07:05:30.750 回答
1

我在Listen for Facebook logout with the LoginButton 上找到的最佳答案。(4.1)

private AccessTokenTracker fbTracker;
...
fbTracker = new AccessTokenTracker() {
            @Override
            protected void onCurrentAccessTokenChanged(AccessToken accessToken, AccessToken accessToken2) {
                if (accessToken2 == null) {
                    Log.d("FB", "User Logged Out.");
                }
            }
        };
于 2017-04-13T16:56:55.990 回答
0

您也可以尝试使用:

LoginManager.getInstance().logOut();

所以你可以打开你的应用程序然后关闭它,然后再次打开它并查看它是否已注销:

@Override
public void onDestroy() {
    super.onDestroy();
    LoginManager.getInstance().logOut();
}
于 2016-01-10T19:16:59.887 回答