我需要你的帮助,我正在为Android App报告一些信息(文本和图像),我使用服务来同步数据,当到达图像时,我使用的是TransferManager方法,它在大多数时候运行良好,知道这个方法已经弃用了,所以我搬出了TransferUtility方法,也运行良好但是我注意到 Activity 冻结了这种方法正在运行,我不知道该怎么做。
ps:我在异步任务中包含了该方法,但问题仍然存在。
感谢您的帮助。
我对该服务的代码是下一个:
let promise = null;
function getHomePage(){
if(!promise){
promise = driver.get(cdthost + '/#!/home');
}
return promise;
}
function run(){
return getHomePage().then(function(){
});
}
答案 0 :(得分:0)
好的,我已经有很长一段时间了,但是我已经找到了解决方案,就是这样:
transferUtility 观察者有一个监听器附加,并且有一个 onStateChanged 方法,我可以检查其状态上传,这里我更新变量状态(“IN_PROGRESS”,“FAILED”,“PAUSED”,“COMPLETED”等)。
在我调用 AsyncTask 的部分中,我必须添加一个 While 来检查 Variable 状态,所以它会在上传图片之前不要继续,代码将如下所示。
if(is text){
/*CONSUMES A WEBSERVICE*/
}else if (is foto){
new Subida().execute(module, another value);
while (estadoFoto.equals("") || estadoFoto.equals("IN_PROGRESS")) {
if (!cd.isConnectingToInternet()) {
break;
}
}
if (estadoFoto.equals("COMPLETED")) {
/*VALIDATE PHOTO */
}
}
就是这样。