使用 Firebase 和 Android 更改 Facebook 帐户/完全注销
Change Facebook Account / log out completely using Firebase and Android
我找不到任何解决我的问题的方法。
我使用 Firebase 和 Facebook 注册我的应用程序。
当我第一次注册我的应用程序时,我看到以下屏幕:
Facebook First Login-Screen
我使用以下代码行退出 Firebase 和 Facebook:
FirebaseAuth.getInstance().signOut();
LoginManager.getInstance().logOut();
之后,当我再次尝试使用 Facebook 登录时,出现以下屏幕:
Facebook Second Login-Screen
我只能继续使用之前使用的帐户。
我想回到第一个屏幕,在那里我必须通过电子邮件输入密码,以便我可以在需要时使用另一个 Facebook 帐户登录。
在 Whosebug 上,我发现了以下有前途的代码:
FacebookSdk.sdkInitialize(getApplicationContext());
if (AccessToken.getCurrentAccessToken() != null) {
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
AccessToken.setCurrentAccessToken(null);
LoginManager.getInstance().logOut();
}
}).executeAsync();
}
但这也没有解决我的问题。
之后我得到以下屏幕:
Facebook alternate Second Login-Screen
非常感谢您的帮助,对于任何英语错误,我深表歉意。
在点击 facebook 登录按钮之前使用下面的代码
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
accessTokenTracker.stopTracking();
DebugLog.infoLog("Token Changed Called");
if (currentAccessToken == null) {
LoginManager.getInstance().logInWithReadPermissions(mActivity, Arrays.asList(permissionList));;
}
}
};
AccessToken.refreshCurrentAccessTokenAsync();
在上面的代码之后,只需调用下面提到的登录代码(使用处理程序调用下面的代码,等待时间为 1 毫秒):
LoginManager.getInstance().logInWithReadPermissions(mActivity, Arrays.asList(permissionList));
我找不到任何解决我的问题的方法。
我使用 Firebase 和 Facebook 注册我的应用程序。
当我第一次注册我的应用程序时,我看到以下屏幕:
Facebook First Login-Screen
我使用以下代码行退出 Firebase 和 Facebook:
FirebaseAuth.getInstance().signOut();
LoginManager.getInstance().logOut();
之后,当我再次尝试使用 Facebook 登录时,出现以下屏幕:
Facebook Second Login-Screen
我只能继续使用之前使用的帐户。 我想回到第一个屏幕,在那里我必须通过电子邮件输入密码,以便我可以在需要时使用另一个 Facebook 帐户登录。
在 Whosebug 上,我发现了以下有前途的代码:
FacebookSdk.sdkInitialize(getApplicationContext());
if (AccessToken.getCurrentAccessToken() != null) {
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
AccessToken.setCurrentAccessToken(null);
LoginManager.getInstance().logOut();
}
}).executeAsync();
}
但这也没有解决我的问题。
之后我得到以下屏幕:
Facebook alternate Second Login-Screen
非常感谢您的帮助,对于任何英语错误,我深表歉意。
在点击 facebook 登录按钮之前使用下面的代码
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
accessTokenTracker.stopTracking();
DebugLog.infoLog("Token Changed Called");
if (currentAccessToken == null) {
LoginManager.getInstance().logInWithReadPermissions(mActivity, Arrays.asList(permissionList));;
}
}
};
AccessToken.refreshCurrentAccessTokenAsync();
在上面的代码之后,只需调用下面提到的登录代码(使用处理程序调用下面的代码,等待时间为 1 毫秒):
LoginManager.getInstance().logInWithReadPermissions(mActivity, Arrays.asList(permissionList));