android应用程序中的Facebook登录/注销状态



我想在我的Android应用程序中登录Facebook。因此,我设法使用Facebook Login Button和注册FacebookCallback来组织登录。现在我们可以访问公共档案信息等等。这是我的问题:

在Facebook帐户Settings > Security中,有一个名为Where You're Logged In的项目,您可以在所有登录的设备中使用End Activity我们如何在此处获取有关用户决策的信息?(如果用户在某些设备上选择End Activity

我们有ProfileTrackerAccessTokenTracker这样的类,但它们似乎没有帮助。或者我用错了。

还有另一个,但与前一个有关。

例如,如果用户更改了姓名。它似乎对我的应用程序中的Profile没有影响我们可以获得有关用户名更改的信息吗?(例如,如果用户使用另一个应用程序更改姓名)

编辑:目前我有以下代码。但它在脸书网页上的End Activity上没有回应。或者,它应该只对本地更改做出响应(如果用户在设备上从Facebook注销)。

// ...
@Override
protected void onResume() {
    super.onResume();
    // Start tracking access token changes
    accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(
                AccessToken oldAccessToken, 
                AccessToken currentAccessToken) {
            if (currentAccessToken == null || currentAccessToken.isExpired()) {
                // Force logout
                LoginManager.getInstance().logOut();
            }
        }
    };
    accessTokenTracker.startTracking();
}
// ...
// ...
@Override
protected void onPause() {
    // Stop tracking access token changes
    accessTokenTracker.stopTracking();
    super.onPause();
}
// ...

AccessTokenTracker功能onCurrentAccessTokenChanged()是您应该挂接的内容,以便收到有关令牌吊销的通知

它似乎对我的应用程序中的个人资料没有影响。

一旦您被通知访问被撤销,您可以自己清除本地配置文件:

LoginManager.getInstance().logOut();

最新更新