Я осуществляю вход в Facebook с помощью SDK 4, но работает только один раз.Вход в Facebook не работает после logManager logOut
Когда я устанавливаю приложение, я могу подключиться к Facebook совершенно. Тем не менее, когда я выйти из системы и попытаться снова войти в систему, я получаю К сожалению, что-то пошло не так сообщение:
Как инициализировать SDK:
// Called in onCreate()
private void initFacebook() {
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "On success");
getUserData(loginResult.getAccessToken());
}
@Override
public void onCancel() {
Log.d(TAG, "On cancel");
}
@Override
public void onError(FacebookException error) {
Log.d(TAG, error.toString());
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (callbackManager != null) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
private void getUserData(AccessToken accessToken) {
GraphRequest request = GraphRequest.newMeRequest(
accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject json,
GraphResponse response) {
Log.v(TAG, response.toString());
if (response.getError() != null) {
// handle error
Log.d(TAG, "GraphRequest error");
} else {
Log.d(TAG, "GraphRequest success");
try {
String jsonresult = String.valueOf(json);
Log.d(TAG, "JSON Result" + jsonresult);
String str_email = json.getString("email");
String str_id = json.getString("id");
String str_name = json.getString("name");
} catch (JSONException e) {
e.printStackTrace();
}
onLoginSuccess();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id, name, email");
request.setParameters(parameters);
request.executeAsync();
}
А вот логин и выход из системы :
@Override
public void onLoginClicked() {
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email"));
}
@Override
public void onLogoutClicked() {
LoginManager.getInstance().logOut();
}
Что происходит не так?
Спасибо!
Спасибо, но это не работает для меня –