2011-09-07 74 views
1

我有一個從互聯網上檢索信息的AsyncTask。但是當信號或WiFi連接很弱時。 AsyncTask超時並且app force關閉。如何設置AsyncTask的計數器?

我在想也許我可以設置一個計時器,這樣當AsyncTask需要20秒以上的時間時,它會顯示一個對話框甚至是一個敬酒,並將用戶發送到課程中的上一個活動。

我該如何去做這件事?

我知道聰明的方法是計數增加INT

也許是這樣..

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

protected void DoInBackground(){ 


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


//DO something 

我在正確的軌道上? 一些guidence會有幫助!

+0

爲什麼不正好趕上導致該FC例外呢?另外AsyncTask API http://developer.android.com/reference/android/os/AsyncTask.html包含一些對超時值的引用。我不確定你是如何使用AsyncTask,但應該可以使用超時。 – slayton

回答

2

你可以簡單地做這樣的事情

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 
} 

}