Android facebook LoginManager.getInstance().logOut()不使用facebook登录进行下一次登录调用
我使用facebook sdk 4.9.0登录facebook。Facebook登录正常工作,但我希望的是,每次用户尝试使用Facebook登录时,都会显示Facebook登录屏幕。 目前,如果用户已经登录到facebook应用程序,facebook登录屏幕将不会显示,但我会获得登录请求的成功 下面是我正在使用的代码Android facebook LoginManager.getInstance().logOut()不使用facebook登录进行下一次登录调用,android,facebook,facebook-login,facebook-android-sdk,Android,Facebook,Facebook Login,Facebook Android Sdk,我使用facebook sdk 4.9.0登录facebook。Facebook登录正常工作,但我希望的是,每次用户尝试使用Facebook登录时,都会显示Facebook登录屏幕。 目前,如果用户已经登录到facebook应用程序,facebook登录屏幕将不会显示,但我会获得登录请求的成功 下面是我正在使用的代码 public void goToFacebookLogin() { LoginManager.getInstance().logOut(); LoginMana
public void goToFacebookLogin() {
LoginManager.getInstance().logOut();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Timber.i("FB login success:" + loginResult.getAccessToken().getToken());
}
@Override
public void onCancel() {
Timber.e("FB login cancel");
showErrorMessage(getString(R.string.string_error_facebook_login_cancelled));
}
@Override
public void onError(FacebookException error) {
Timber.e("FB login error:" + Log.getStackTraceString(error));
showErrorMessage(getString(R.string.string_error_facebook_login));
}
});
if (fbPermissions.isEmpty()) {
fbPermissions.addAll(Arrays.asList(getResources().getStringArray(R.array.string_array_fb_permissions)));
}
if (Utils.isNetworkAvailable(this)) {
showProgressBar();
LoginManager.getInstance().logInWithReadPermissions(this, fbPermissions);
} else {
showErrorMessage(getString(R.string.string_error_no_network));
}
}
public-void-goToFacebookLogin(){
LoginManager.getInstance().logOut();
LoginManager.getInstance().registerCallback(callbackManager,
新建FacebookCallback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
i(“FB登录成功:+loginResult.getAccessToken().getToken());
}
@凌驾
公开作废{
Timber.e(“FB登录取消”);
消息(getString(R.string.string_error_facebook_login_cancelled));
}
@凌驾
public void onError(facebook异常错误){
e(“FB登录错误:+Log.getStackTraceString(错误));
消息(getString(R.string.string_error_facebook_login));
}
});
if(fbPermissions.isEmpty()){
addAll(Arrays.asList(getResources().getStringArray(R.array.string\u array\u fb\u permissions));
}
如果(Utils.isNetworkAvailable(此)){
showProgressBar();
LoginManager.getInstance().logInWithReadPermissions(此为fbPermissions);
}否则{
消息(getString(R.string.string_error_no_network));
}
}
您必须初始化FacebookSDK。
使用FacebookSDK.sdkinInitialize()
感谢@kishansolanki124提到这一点。此方法已弃用。提到了解决方法。可能重复的
GraphRequest(AccessToken.getCurrentAccessToken(),
"/me/permissions/", null, HttpMethod.DELETE,
GraphRequest.Callback {
AccessToken.setCurrentAccessToken(null)
LoginManager.getInstance().logOut()
}).executeAsync()