gpt4 book ai didi

android - 如果 AsyncTask 未完成,如何设置固定时间

转载 作者:太空狗 更新时间:2023-10-29 16:27:10 26 4
gpt4 key购买 nike

我有一个异步任务,如果异步花费的时间太长,我正在等待,我正在下载数据库的一些数据,但我不想让用户在进度对话框中循环,我想设置一个固定时间,比方说我正在下载一个文件,但要花很长时间,所以我告诉用户,“嘿,检查你的互联网连接,然后再试一次”我想用计时器来做这件事,但我我有点卡住了,这是我执行异步任务的地方

private class DownloadFilesTask extends AsyncTask<Void, Void, Void> {
String s;
public DownloadFilesTask(String s){
this.s = s;
}

@Override
protected Void doInBackground(Void... voids) {
DownloadMethod(s);
return null;
}
}

假设我想在固定时间(10 或 20 秒)内执行该下载方法,如果当时没有下载文件,我会向用户返回一条消息,说他需要检查他的互联网。

最佳答案

您可以使用处理程序在一定时间后运行并维护一个 bool 标志,您可以在异步任务的 postExecute 函数中更新该标志。

在您的 Activity/fragment 类中:

new Handler().postDelayed(new Runnable(){
public void run(){
//Check whether the flag has been updated or not
},1000)

关于android - 如果 AsyncTask 未完成,如何设置固定时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48118661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com