Facebook объект в нескольких актах

1

У меня есть два действия, которые должны использовать мой объект Facebook. Первое действие делает процесс регистрации второй задачей объекта Facebook, чтобы получить список друзей. Я использую класс, который расширяет приложение для переноса объекта Facebook с первого действия на второе.

Это хорошо работает, но когда я выхожу из системы и регистрируюсь в первом действии, я получаю эту ошибку при попытке использовать объект Facebook во втором действии

    {"error_code":104,"error_msg":"Requires valid signature","request_args"

Я обновляю объект Facebook при входе в систему, и я обновляю объект Facebook в своем классе Application. Любая идея, почему я могу получить эту ошибку?

Теги:
facebook

1 ответ

3
Лучший ответ

Вам не нужно передавать объект Facebook из одной активности в другую, вместо этого сохранить токен доступа и время истечения срока действия в предпочтениях и получить их в другой деятельности.
Это также хорошо, если пользователь снова вернется в приложение.

Вы можете использовать класс SessionStore на официальных примерах facebook, что упростит сохранение/получение информации об аутентификации.

Итак, в первом упражнении вы можете:

Facebook facebook = new Facebook("APP_ID");

if (!SessionStore.restore(facebook, this)) {
    // start the authentication process
}
else {
    // start the other activity
}

И во втором действии:

Facebook facebook = new Facebook("APP_ID");

if (!SessionStore.restore(facebook, this)) {
    // start the first activity to authenticate the user
}
else {
    // use the facebook object to make graph requests
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню