java如何在后台等待异步方法完成
在远程服务器上执行后台任务以获取校验和并相应地更新活动磁贴,我遇到了一个时间问题
以下是代码:
MatchListImpl.IsThereNewResults();
NewsListImpl.IsThereNewNews();
RaiseToast();
UpdateTile();
这相当简单。 前两个调用是指异步函数,该函数将使用WebConnector下载两个文件“*.cksum”。最后两个调用将根据下载文件的内容更新磁贴并发出通知
问题是,后面的函数通常在下载两个文件之前执行,async方法没有完成。当然,这件事的全部逻辑都是无效的
我的问题是:有没有办法“暂停”任务的执行,真正等待异步方法结束
由于这绝对不合法,第二个问题是:没有更好的方法吗
谢谢你的回答:)
# 1 楼答案
您可以将当前类传递给async task,然后在异步类的onPostExecute方法中调用RaiseToast()和UpdateFile(),例如:假设在RaiseToast()中使用的是MatchListImpl async task中下载的一些文件,您可以将RaiseToast()所在的当前类传递给async task类,在它的构造中
所以不要在myClass中调用RaiseToast()。并在asyncTast类istead中调用它