Android 如何为异步任务设置计数器?

Android 如何为异步任务设置计数器?,android,counter,Android,Counter,我有一个从internet检索信息的异步任务。但当信号或wifi连接较弱时。异步任务超时,应用程序强制关闭 我在想,也许我可以设置一个计时器,这样当AsyncTask花费超过20秒时,它会显示一个对话框,甚至是一个toast,并将用户发送到类中的上一个活动 我该怎么做呢 我知道聪明的方法是增加整数 也许是 private class fetcher extends AsyncTask<Void,Void,Void>{ protected void DoInBackground(){

我有一个从internet检索信息的异步任务。但当信号或wifi连接较弱时。异步任务超时,应用程序强制关闭

我在想,也许我可以设置一个计时器,这样当AsyncTask花费超过20秒时,它会显示一个对话框,甚至是一个toast,并将用户发送到类中的上一个活动

我该怎么做呢

我知道聪明的方法是增加整数

也许是

private class fetcher extends AsyncTask<Void,Void,Void>{

protected void DoInBackground(){


for(int i = 0;i<20;i++){


//DO something
私有类获取程序扩展异步任务{
受保护的void DoInBackground(){

对于(inti=0;i您可以简单地执行以下操作

private class fetcher extends AsyncTask<Void,Void,Void>{

protected void DoInBackground(){
   try{
   //do your stuff here
   }catch(Exception e){
   //something is wrong , async task may crash , show a dialog or error
}

}
私有类获取程序扩展异步任务{
受保护的void DoInBackground(){
试一试{
//在这里做你的事
}捕获(例外e){
//出现问题,异步任务可能会崩溃、显示对话框或出错
}
}

为什么不捕获导致FC的异常?AsyncTask API还包含一些对超时值的引用。我不确定您使用AsyncTask的确切程度,但应该可以使用超时。