我的应用程序集成了Facebook登录,我在重新登录时发现了一个问题,当我尝试从Facebook注销并在重新登录之后,我在我的应用程序中获得了以前的用户自动登录,但我需要的是作为新用户登录。不知道出了什么问题
我的注销代码是
val parameters = Bundle()
val request = GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/permissions/",
parameters,
HttpMethod.DELETE,
GraphRequest.Callback {
// Insert your code here
LoginManager.getInstance().logOut()
})
request.executeAsync()
在调用 logOut() 之前,您需要在注销活动中初始化 FacebookSdk。
LoginManager.getInstance().logOut();
,将工作
但不要忘记将FacebookSdk.sdkInitialize(getApplicationContext());
放入您的注销活动中
对于从Facebook注销只需要使用:
LoginManager.getInstance().logOut();
在FacebookSDK中,如果您想完全解耦,请确保同时从用户的Facebook帐户中删除该应用程序。此方法完全断开用户连接:
public void logoutFromFacebook() {
if (AccessToken.getCurrentAccessToken() == null) {
return; // user already logged out
}
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
LoginManager.getInstance().logOut();
}
}).executeAsync();
}
还可以使用此FacebookSdk.sdkInitialize(getApplicationContext());
初始化 Facebook SDK。
希望对您有所帮助!!