Cancelar una AsyncTask detiene el método de inicio

            public void get(View view){     
                               try {
                               asPt = new ProgressTask().execute(null,null,null);  
                               Log.d("Watcher","Get finished");         
}
            catch (Exception e) {                       
                    e.printStackTrace();                
                    Log.e("Watcher","Get Exception");       
        }       
    }

Cuando cancel(Boolean) La AsyncTask asPt la línea "Terminar" nunca se imprime. ¿Por qué? Tampoco detecta una excepción en este método.

preguntado el 03 de mayo de 12 a las 11:05

Elimina tu código de tarea. se puede imprimir? -

What do you mean? Please explain -

Creo que algo anda mal con tu logcat. No tiene nada sobre AsyncTask. -

LogCat está bien, si describo la ejecución de asynctask con // el "Get Finished" se imprime en LogCat -

1 Respuestas

Recuerde que cancelar no hace nada, por lo que debe implementarlo usted mismo, consulte el enlace: Android: cancelar AsyncTask con fuerza

contestado el 23 de mayo de 17 a las 13:05

cancel hace algo en asynctasks. invoca onCancelled si se llama con booleano falso o devuelve nulo en onPostExecute si se invoca con booleano verdadero. Y aún más, evita que mi método esté terminado: arket

@Coretek jeje cierto, MUY cierto, pero no hace lo que la gente espera :) - Warpzit

¡¿Pero no creo que este sea un comportamiento intencionado de que mi método que llama a esta tarea asincrónica no finalice correctamente cuando se cancela la tarea?! - arket

@Coretek Bien, creo que ahora entiendo mejor tu problema. Intente quitar el bloque de captura. Si eso no funciona, debe estar bloqueando su aplicación o algo así con asynctask. Lo que estás haciendo debería funcionar. - Warpzit

Ok I it out. The method doesnt wait for the AsyncTask and is executed properly. Because of that th e logcat msg came at the start instead of at the end. a AsncyTask.get() does the "join()" now - arket

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.