インターネットから情報を取得するAsyncTaskがあります。しかし、信号や無線LAN接続が弱いとき。 AsyncTaskがタイムアウトし、アプリの強制終了が終了します。
私はおそらくAsyncTaskが20秒以上かかるとき、それはダイアログやトーストさえ表示し、そしてクラスの前のアクティビティーにユーザーを送るようにタイマーを設定することができると思っていました。
これをどのようにして行うのでしょうか。
私は賢い方法はintの増加を数えることであることを知っています
たぶん何か..
private class fetcher extends AsyncTask<Void,Void,Void>{
protected void DoInBackground(){
for(int i = 0;i<20;i++){
//DO something
私は正しい軌道に乗っていますか? いくらかガイドが役立つでしょう!
回答:
回答№1は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
}
}