/ / Cómo terminar la actividad desde AsyncTask Android - Android, Android-activity, android-asynctask

Cómo finalizar la actividad de AsyncTask Android: android, android-activity, android-asynctask

En mi solicitud tengo 3 actividades:

1. Login

2. AsyncTask (clase diferente)

3. Welcome

Después de recibir toda la información en el Login Activity se mueve a la AsyncTask Activity. Cuando el AsyncTask se completa se mueve a la Welcome Activity. Quiero cerrar el Login Activity tan pronto como AsyncTask Activity completa su trabajo ..

Estoy tratando de usar el siguiente código en el onPostExecite() de AsyncTask:

Login.this.finish();

Pero estoy recibiendo un error de: No enclosing instance of the type of Login is accessible in scope..

Por favor dime como puedo cerrar mi Login Activity después de completar mi AsyncTask..

Gracias por adelantado...

Respuestas

9 para la respuesta № 1

Como AsyncTaskActivity está en un archivo separado de LoginActivity, no puede terminar LoginActivity de la siguiente manera:

Login.this.finish ();

En su lugar, debe pasar la Referencia de actividad como parámetro en la Clase AsyncTaskActivity, como puede definir el siguiente constructor:

private class AsyncTaskActivity extends AsyncTask<String, Void, String> {

Activity mActivity;
public AsyncTaskActivity(Activity activity)
{
super();
this.mActivity=activity;
}
}

Y cuando quieras terminar la actividad llama.

this.mActivity.finish();

Crear un objeto AsyncTaskActivity en LoginActivity por

AsyncTaskActivity asynTask = new AsyncTaskActivity(LoginActivity.this);

2 para la respuesta № 2

Okay . debe llamar a finish () en el método onPostExcecute después de indicar una nueva actividad.

PASOS:

1) actividad de inicio de sesión

2) Tarea Asynac (pasar contexto de aplicación)

3) Llamar nueva actividad

4) finalice su actividad de inicio de sesión en onPostExcecute (context.finish ())