小编GC2*_*8DM的帖子

AWS S3 Android SDK 2.11.0

我的代码如下所示:

final AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials(s3AccessKeyId, s3SecretAccessKey));
final TransferUtility util = TransferUtility.
                    builder().s3Client(s3Client).context(context).build();
Run Code Online (Sandbox Code Playgroud)

从'com.amazonaws:aws-android-sdk-s3:2.7.5'升级到'com.amazonaws:aws-android-sdk-s3:2.11.0'时,即使上传仍然有效:

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]
Run Code Online (Sandbox Code Playgroud)

当我更改代码以包括TransferNetworkLossHandler时:

TransferNetworkLossHandler.getInstance(context);
final AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials(s3AccessKeyId, s3SecretAccessKey));
final TransferUtility util = TransferUtility.
                    builder().s3Client(s3Client).context(context).build();
Run Code Online (Sandbox Code Playgroud)

不做任何事情,我再也没有错误。

但是,这不是此错误消息的预期目的。它告诉您使用TransferNetworkLossHandler,但是没有有关如何使用它的文档。

如果上传不起作用,我只想向用户显示错误(例如Toast或AlertDialog)。所以我根本不需要处理程序。但是我也不希望每次都将错误消息写入日志。另外,我也不想使用这种简单的解决方案,即仅获取一个实例而不对其执行任何操作。

在我的情况下,此处理程序的正确用法是什么?

android amazon-s3 awss3transferutility aws-sdk-android

6
推荐指数
1
解决办法
1290
查看次数