Аутентификация Facebook с ошибкой приложения Facebook

1

Я выполнил инструкции здесь, и он отлично работает, когда приложение Facebook не установлено. Когда установлено официальное приложение Facebook, обратный вызов не вызывается после вызова authorize, и я не возвращаю токен. Когда приложение установлено, появляется блестящий экран входа в систему (из приложения Facebook), когда это не так, веб-просмотр. Я много искал, но каждый учебник говорит, что я должен использовать образец со страницы, с которой я связан. Что мне не хватает?

// Facebook connect
public void facebookConnect(View v) {
    /* CocktailflowTest AppID */
    final Facebook facebook = new Facebook("134370943293463");
    facebook.authorize(this, new String[] { "email", "offline_access" }, new DialogListener() {

        @Override
        public void onFacebookError(FacebookError e) {
            e.getMessage();
        }

        @Override
        public void onError(DialogError e) {
            Toast.makeText(LaunchActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onComplete(Bundle values) {
            mFBToken = facebook.getAccessToken();
            getPreferences(MODE_PRIVATE).edit().putString(Prefs.FACEBOOK_TOKEN, mFBToken).commit();
            WebService service = new WebService();
            WebServiceListener l = new LaunchWebserviceListener();
            mDialog = ProgressDialog.show(LaunchActivity.this, "", "Logging in...");
            mDialog.show();
            service.connectWithFacebook(l, mFBToken);
        }

        @Override
        public void onCancel() {
            Log.i(TAG, "Facebook connect was cancelled by user.");
        }
    });
}
Теги:
facebook

1 ответ

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

Вам необходимо переопределить метод onActivityResult в вашей деятельности:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    facebook.authorizeCallback(requestCode, resultCode, data);
}

Ещё вопросы

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