AWS TransferListener вызывает ошибку onError и onStateChanged

Ниже приведен код, вырезанный из моего приложения для Android.

onError вызывается также onStateChanged вызывается через некоторое время,

Я получаю ошибку

Запрошенный диапазон не является удовлетворительным (услуга: Amazon S3; код состояния: 416

Пожалуйста, поделитесь своим мнением, если кто-то испытывал подобное поведение.

 observer.setTransferListener(new TransferListener() {
                    @Override
                    public void onStateChanged(int i, TransferState transferState) {
                        Log.d("AWS download state", transferState.toString());
                        if (transferState == TransferState.COMPLETED) {
                            downloadCallBack.OnDownloadCompleteSuccess(filename);
                        }
                    }

                    @Override
                    public void onProgressChanged(int i, long l, long l1) {

                        Log.d("progress Change", "Dummy logging");

                    }

                    @Override
                    public void onError(int i, Exception e) {
                        Log.e("aws error", e.toString());

                        try {
                            Toast.makeText(gCtx, "Error! Please try again.", Toast.LENGTH_SHORT).show();
                        }catch (Exception e1){
                            Log.e("error",e1.getLocalizedMessage().toString());
                        }



                    }
                });

Вы очищаете прослушиватель передачи @ на паузе или где угодно

Praveen Rawat 23.04.2018 09:33

@PraveenRawat, какова уместность этого вопроса в этом контексте?

Sreekanth Karumanaghat 23.04.2018 09:35

из-за проблемы с кешем у меня есть реализация, но она работает.

Praveen Rawat 23.04.2018 09:37

@PraveenRawat Мой вопрос: если вызывается onError, почему вызывается onStateChanged?

Sreekanth Karumanaghat 23.04.2018 09:38

@SreekanthKarumanaghat Что такое transferState при вызове onStateChanged?

Karthikeyan 24.04.2018 18:36
0
5
138
1

Ответы 1

При возникновении ошибки во время задачи загрузки / выгрузки SDK вызывает обратный вызов onError с соответствующим объектом исключения. В дополнение к этому onStateChanged вызывается с TransferState.FAILED. Следовательно, вы получаете оба обратных вызова.

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