我在这里已经阅读了尽可能多的关于此主题的内容,并且已经阅读了文档(AWS 2.2.9),并且正在尽可能地使用它们的示例代码,而我陷入了困境.这是我为设置所做的:
清单-
相关权限-
“ android.permission.INTERNET”和“ androID.permission.ACCESS_NETWORK_STATE”
服务-
androID:name =“” com.amazonaws.mobileconnectors.s3.transferutility.TransferService“ androID:enabled =” true“
我已经设置好我的存储桶以及Cognito的凭据.这是我为执行上传而添加的代码:
file f = getVIDeofile(activity);
…
TransferObserver observer = sTransferUtility.upload(Constants.BUCKET_name, f.getname(), f); observer.setTransferListener(new TransferListener() { @OverrIDe public voID onProgressChanged(int ID, long bytesCurrent, long bytesTotal) { Log.e("Transfer", "Percent Complete = " + bytesCurrent / bytesTotal * 100); } @OverrIDe public voID onStateChanged(int ID, TransferState state) { Log.e("Transfer", "onStateChanged"); Log.e("Transfer", "state = " + state); } @OverrIDe public voID one rror(int ID, Exception ex) { Log.e("Transfer", "Error = " + ex.getMessage()); } });
我还临时添加了一个等待循环,以查看我是否不耐烦,但它只显示state = WAITING,直到我终止了该应用程序:
TransferState state = observer.getState(); while (state != TransferState.COMPLETED) { Log.e("Transfer", "state = " + state); try { Thread.sleep(10000); state = observer.getState(); } catch (Exception e) { Log.e("Transfer", "exception " + e.getMessage()); } }
所有这些都发生在一个片段中.我没有看到任何错误报告(我知道其他人已经注意到缺少配置会导致此行为,但是我认为我已经完成了我应该做的所有事情,在这里).
如果您有任何遗漏或需要获取更多信息的信息,我将不胜感激.
编辑:
我并不怀疑整个问题不在于代码,而在于我所拥有的配置.
我的Cognito和值区ID如下所示(但不完全相同):
COGNITO_POol_ID:“ us-east-1:abcdefgh-abcd-efgh-ijkl-mnopqrstuvwxy”
BUCKET_name:“ MyBucket”
我也很好奇密钥是否应该是我的.upload()中的文件名应包含路径还是仅包含文件名.我已经尝试过两种方法,但是其中哪一种是正确的:
/storage/emulated/0/AndroID/data/com.blah.blah/files/vIDeo.mp4
要么
vIDeo.mp4
目前很好?
谢谢.
-VAR
解决方法:
我遇到了同样的问题,以下线程为我提供了解决方案.
Uploading files doesn’t work with TransferUtility Amazon S3 in Android
在清单中,我必须将转移实用程序服务放在application标记内.
总结以上是内存溢出为你收集整理的Android Amazon S3上传视频卡在等待中全部内容,希望文章能够帮你解决Android Amazon S3上传视频卡在等待中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)