API Facebook висит на "Открытие" во время openActiveSession
Я могу войти в систему в первый раз. И у меня есть вариант, где пользователь может отключить Facebook в приложении Android. Когда это выбрано, статус Facebook переходит в состояние ЗАКРЫТО. Когда я снова использую эту опцию, чтобы снова войти в систему, API зависает при открытии в функции обратного вызова.
Согласно примерам, которые я нашел, первый вызов использует
session.openForRead(new Session.OpenRequest(activity).setCallback(statusCallback));
а второй использует
Session.openActiveSession(activity, true, statusCallback);
Функция обратного вызова выглядит следующим образом:
private static class SessionStatusCallback implements Session.StatusCallback {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
GlobalVars.setUser(user.getName());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(GlobalVars.getContext());
Editor editor = prefs.edit();
editor.putBoolean("facebook", true);
editor.commit();
System.out.println("facebook logged in");
}
}
});
}
System.out.println("facebook session state callback " + session.getState().toString());
}
}
1 ответ
Я не уверен, что у нас есть точная проблема, но состояние сеанса моего Facebook остается "ОТКРЫТЫМ" после Session.openActiveSession(activity, true, statusCallback);
, Я переопределил onActivityResult()
внутри моего фрагмента. Чтобы решить эту проблему, я вместо этого переопределил метод в своей активности.
Соответствующий ответ: /questions/31951712/android-facebook-sdk30-sostoyanie-seansa-otkryito/31951725#31951725