Voglio usare un AsyncTask per controllare un indirizzoInet, come nel codice qui sotto. La variabile tempInet è una variabile globale che indica se il sito Web è contattabile o meno.Come cancellare un AsyncTask Android dopo un certo periodo di tempo? (Ad esempio 10 secondi)
Inizio il AsyncTask con il codice ... nuovo InetAsyncTask(). Execute ("www.facebook.com");
Il mio problema è che voglio che AsyncTask si annulli dopo (diciamo) 10 secondi.
Alcune altre domande suggeriscono di utilizzare il metodo get (10, TimeUnit.SECONDS). Mi piacerebbe farlo ma non sono sicuro di dove/come mettere il metodo get. Con esecuzione? Nel metodo doInBackground?
Inoltre, il metodo get() blocca il thread principale? Se lo fa, qual è il punto di esso?
Qualsiasi aiuto apprezzato.
class InetAsyncTask extends AsyncTask<String, String, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
try {
InetAddress.getByName("www.facebook.com");
return true;
} catch (UnknownHostException e) {
return false;
}
} //end doInBackground function
protected void onPostExecute(Boolean... result) {
tempInet = result[0];
}
} //end class
Domande correlate
Android - Setting a Timeout for an AsyncTask?
stop async task after 60 second
Sviluppatori Android AsyncTask Documentazione
http://developer.android.com/reference/android/os/AsyncTask.html