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.