Мой код выглядит следующим образом:
final AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials(s3AccessKeyId, s3SecretAccessKey));
final TransferUtility util = TransferUtility.
builder().s3Client(s3Client).context(context).build();
При обновлении с 'com.amazonaws: aws-android-sdk-s3: 2.7.5' до 'com.amazonaws: aws-android-sdk-s3: 2.11.0 'Я получаю следующую ошибку в своем logcat, хотя загрузка все еще работает:
E/nsferNetworkLossHandler: TransferNetworkLossHandler is not created. Please call `TransferNetworkLossHandler.getInstance(Context)` to instantiate it before retrieving
E/UploadTask: TransferUtilityException: [com.amazonaws.mobileconnectors.s3.transferutility.TransferUtilityException: TransferNetworkLossHandler is not created. Please call `TransferNetworkLossHandler.getInstance(Context)` to instantiate it before retrieving]
Когда я изменяю свой код, чтобы включить TransferNetworkLossHandler:
TransferNetworkLossHandler.getInstance(context);
final AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials(s3AccessKeyId, s3SecretAccessKey));
final TransferUtility util = TransferUtility.
builder().s3Client(s3Client).context(context).build();
не делая ничего с этим, я больше не получаю ошибку.
Однако, это не то, как предназначено это сообщение об ошибке.Он говорит вам использовать TransferNetworkLossHandler, но нет документации о том, как его использовать.
Я просто хочу отобразить ошибку (например, Toast или AlertDialog) для пользователя, если загрузка не работала,Так что мне вообще не нужен обработчик.Но я также не хочу, чтобы сообщение об ошибке записывалось в мой журнал каждый раз.Также я не хочу использовать это хакерское решение - просто захватить экземпляр и ничего не делать с ним.
Как правильно использовать этот обработчик для моего случая?