Я добавил функцию обмена в приложение для Android, как описано здесь https://developers.facebook.com/docs/android/share-dialog/#setup
Но я заметил, что если пользователь отменяет действие совместного использования, onComplete
все равно вызывается
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uiHelper.onActivityResult(requestCode, resultCode, data, new FacebookDialog.Callback() {
@Override
public void onError(FacebookDialog.PendingCall pendingCall, Exception error, Bundle data) {
Log.e("Activity", String.format("Error: %s", error.toString()));
}
@Override
public void onComplete(FacebookDialog.PendingCall pendingCall, Bundle data) {
Log.e("Activity", "Success!");
}
});
}
Я также заглянул в Bundle, который вернулся. Даже если я отменю диалоговое окно общего доступа, я получаю
com.facebook.platform.extra.DID_COMPLETE=true
Как я могу получить результат, что пользователь действительно поделился данными на facebook? (Не делая отдельный вход с помощью кнопки facebook. Может быть, нужно добавить какие-то разрешения?)