Я добавил функции совместного использования в приложение для 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. Возможно, нужно добавить некоторые разрешения?)