以下是从我的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());
}
}
});
答案 0 :(得分:0)
当上传/下载任务期间发生错误时,SDK会使用相应的异常对象调用onError回调。除此之外,使用TransferState.FAILED调用onStateChanged。因此,你得到了两个回调。