Кнопка "Поделиться с Facebook" не открывает диалог в реальных устройствах Android

Я использую Facebook ShareButton в моем приложении для Android. Приложение пытается поделиться текстом в Facebook. Мое приложение успешно войти с Facebook. Ключи хэша и ключ APP в файле манифеста верны. Я проверил.

    android:minSdkVersion="19"
    android:targetSdkVersion="23" 

Я использую viewpager с вложенными фрагментами. Я устанавливаю кнопку "Поделиться" в Facebook со следующей функцией, и я определил пользовательскую кнопку для регистрации. Когда пользователь нажимает кнопку "Регистрация", я выполняю нажатие кнопки "Поделиться в Facebook". Этот senario, успешно работает в эмуляторе, кнопка "Поделиться" открывает диалог входа в систему, когда пользователь входит в систему с другим провайдером, чем общий доступ. Если пользователь войдет в систему с Facebook, он откроет диалоговое окно. Но в реальных устройствах нажатие кнопки не открывает диалоговое окно общего доступа, но оно пробует небольшой экранный эффект, но ничего не появляется, отображается только текущий фрагмент. Но экран становится отключенным (как будто на экране что-то еще), когда я нажимаю кнопку "назад", приложение переходит в фактическое состояние, и текущий фрагмент становится работоспособным. У меня есть поиск через интернет, но я не могу найти решение. У кого-нибудь есть идея.

  checkinButtonAll.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(isFacebook &&  facebookEnable.isChecked())
            {
                // Create an object
                ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
                        .putString("og:type", "restaurant.restaurant")
                        .putString("og:title", ((MainActivity) getActivity()).clickedRestaurantName)
                        .putString("og:description", uc.formCheckinText())
                        .build();
                // Create an action
                ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
                        .setActionType("restaurant.visited")
                        .putObject("restaurant", object)
                        .build();
                // Create the content
                ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
                        .setPreviewPropertyName("restaurant")
                        .setAction(action)
                        .build();
                facebookCheckinButton.setShareContent(content);
               facebookCheckinButton.performClick();
            }

        }
    });

1 ответ

Решение

Проблема в том, что процесс отправки приложения на Facebook. В режиме разработчика вы запрашиваете разрешения у пользователя, а Facebook не хочет ничего, кроме этого. Но когда вы помещаете свое приложение в Google Play (даже если закрытое бета-тестирование) на Facebook, вы должны опубликовать свое приложение и выполнить действия, необходимые для получения необходимых разрешений. Например, для публикации действия в Facebook у вас есть разрешение publish_action, а для получения разрешения в Facebook требуются скриншоты и скриншоты от вас. Вы должны выполнить эти шаги и отправить версию в разделе "Обзор приложений" вашей консоли разработчика fb.

Другие вопросы по тегам