抛出onError和onStateChanged的AWS TransferListener被调用

时间:2018-04-23 07:18:53

标签: android amazon-web-services

以下是从我的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());
                        }



                    }
                });

1 个答案:

答案 0 :(得分:0)

当上传/下载任务期间发生错误时,SDK会使用相应的异常对象调用onError回调。除此之外,使用TransferState.FAILED调用onStateChanged。因此,你得到了两个回调。