使用TransferUtility Amazon S3在Android上传文件无法正常工作

5

您好,我尝试将一个虚拟文本文件上传到Amazon S3,但是它没有上传成功,但是日志生成了一个ID。当我刷新Amazon S3存储桶仪表板时,文件并未传输。

public class AmazonService extends AsyncTask<String, Boolean, Boolean> {
    Context mContext;
    public AmazonService(Context context) {
        mContext = context;
    }

    @Override
    protected Boolean doInBackground(String... params) {
        CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                mContext,
                "us-east-1:ec361bf5-52b9-477b-9a68-7e2b5f70de07", // Identity Pool ID
                Regions.US_EAST_1 // Region
        );
        AmazonS3Client client =
                new AmazonS3Client(credentialsProvider);
        TransferUtility transferUtility = new TransferUtility(client, mContext);
        TransferObserver observer = transferUtility.upload("elevator-app","Video/",new File("dummy.txt") );
        Log.d("Test", observer.getId() + " " + observer.getBytesTransferred());

        return true;
    }
}

//需要在AndroidManifest.xml中拥有的服务

<service android:name= "com.amazonaws.mobileconnectors.s3.transferutility.TransferService" android:enabled="true" />
1个回答

9
我曾遇到相同的问题,原因是我把服务标签放在应用程序标签外面。当我把服务标签放在应用程序标签里面时,一切都完美地工作了。

我的服务标签在应用程序标签内,但仍然无法工作...请帮忙。 - beginner
在我的情况下,它适用于 Android 6 及以下版本,但不适用于 7(牛轧糖)版本。 - chetan rane

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接