Проблемы с SSO Facebook на Android - PullRequest
       1

Проблемы с SSO Facebook на Android

1 голос
/ 16 октября 2011

Я пытаюсь создать приложение для Android с помощью единого входа в Facebook, поэтому сначала я создал тестовое приложение для проверки их API.

Я следовал руководству по запуску Android здесь, наfacebook dev site .Все работало хорошо.Когда приложение запускалось, оно позволяло мне входить в Facebook, используя традиционную регистрацию в Интернете (поскольку Facebook не был установлен на эмуляторе).Затем я заметил, что если у вас уже установлен Facebook, то для входа в систему будет использоваться более необычный экран.

Итак, я установил Facebook, открыл приложение, все прошло хорошо.Приложение закрылось и снова открылось, и на экране появилось окно повторной авторизации Facebook, но на этот раз без информации об этом ..

enter image description here

Что немного странно ... поэтому, когда я нажимаю "Хорошо, это отображается ..

enter image description here

, поэтому, если я снова нажму "ОК", он просто откроет facebook в браузере.Если это как-то связано с моим кодом?Или что-то на стороне Facebook?У меня такая же проблема как на эмуляторе, так и на реальном устройстве.На эмуляторе было запущено приложение facebooks dev, которое поставлялось вместе с sdk, и на устройстве установлено последнее приложение facebook от рынка Android.

Код здесь ..

public class Home extends Activity {

Facebook facebook = new Facebook("Blanked the ID :)");
String FILENAME = "app_data";
private SharedPreferences mPrefs;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mPrefs = getPreferences(MODE_PRIVATE);
    String access_token = mPrefs.getString("access_token", null);
    long expires = mPrefs.getLong("access_expires", 0);
    if (access_token != null) facebook.setAccessToken(access_token);
    if (expires != 0) facebook.setAccessExpires(expires);

    if (!facebook.isSessionValid()) {
        facebook.authorize(this, new DialogListener() {

            @Override
            public void onComplete(Bundle values) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onFacebookError(FacebookError e) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onError(DialogError e) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onCancel() {
                // TODO Auto-generated method stub
            }
        });
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    facebook.authorizeCallback(requestCode, resultCode, data);
}

Заранее спасибоза любую помощь!(

1 Ответ

2 голосов
/ 16 октября 2011

Попробуйте отключить расширенный диалог авторизации здесь после выбора приложения

Настройки приложения-> Расширенные настройки -> Диалог расширенной аутентификации: отключено

Приветствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...