Итак, у меня есть Dialog
с кнопкой «share». Когда кнопка нажата, вызывается метод, который делится информацией о пользователях, если они уже вошли в Facebook. Однако, если они не вошли в Facebook, я бы сначала попросил пользователя войти в систему и затем поделиться своей информацией. Вот моя попытка входа пользователя в без LoginButton
:Правильный способ создать сеанс Facebook для входа?
Session.OpenRequest openRequest = new Session.OpenRequest(GameActivity.this);
StatusCallback callback = new StatusCallback(){
@Override
public void call(Session session, SessionState state, Exception exception) {
Log.d(TAG, "CALL");
if (Session.getActiveSession() != null && Session.getActiveSession().isOpened()){
Log.d(TAG, "sendBrag was called");
sendBrag();
}else{
Log.d(TAG, "session is not opened");
}
if (exception != null){
Log.d(TAG, "caught exception in call method");
}
}
};
openRequest.setCallback(callback);
openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
openRequest.setPermissions(PERMISSIONS);
Session session = new Session(GameActivity.this);
session.openForPublish(openRequest);
Session.setActiveSession(session);
Где PERMISSIONS
является:
private static final List<String> PERMISSIONS = Arrays.asList("publish_actions");
Проблема заключается в том, что никогда не входит в систему! Я либо получаю сообщение Toast
с сообщением «проверьте сетевое подключение» (хотя мое сетевое соединение в порядке), или ничего не происходит. Но из журналов я могу сказать, что сессия никогда не открывается. Подводя итог: Как правильно войти в Facebook, используя класс Session
? Что мне здесь не хватает? Любая помощь, предложения или советы будут очень благодарны, спасибо!