Facebook SDK для Android 4.1.0 поделиться диалоговое окно отмены

Я реализую функцию обмена Facebook в моем приложении. Я взял код из примера https://developers.facebook.com/docs/sharing/android (Поделиться Диалогом)

FacebookCallback реализует 3 метода onSuccess, onCancel, onError.

   shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
        @Override
        public void onSuccess(Sharer.Result result) {
            Timber.e("onSuccess " + result.getPostId());
        }

        @Override
        public void onCancel() {
            Timber.e("onCancel");

        }

        @Override
        public void onError(FacebookException e) {
            Timber.e("onError");
        }
    });

Я хочу знать, отменяет ли пользователь диалог обмена вместо того, чтобы делиться контентом. Но по некоторым причинам вызывается onSuccess, и result.getPostId() имеет значение null в обоих случаях, если пользователь успешно делится контентом или отменяет диалог. Почему onCancel не вызывается, если пользователь нажал назад, и почему result.getPostId() имеет значение null, даже если публикация была успешно опубликована?

1 ответ

Вы получите OnCancel только в том случае, если пользователь авторизовал ваше приложение (т.е. вошел в Facebook через ваше приложение).

Вы получите только postId, если ваше приложение также имеет разрешение publish_actions.

См. https://developers.facebook.com/docs/android/troubleshooting устранение неполадок#onsuccess.

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