Utilizar AsyncTask para iniciar la actividad

Estoy utilizando asyncTask para mostrar el cuadro de diálogo y luego, después de unos minutos, iniciar una nueva actividad.

Desafortunadamente esa actividad comienza antes de que la tarea terminara ???

package com.android.grad; import android.app.Activity; import android.app.ProgressDialog; import android.os.AsyncTask; import android.widget.Toast; public class LoginTask extends AsyncTask<Void, Void, Boolean> { private Activity activity; private ProgressDialog pd; public LoginTask(Activity activity) { this.activity = activity; } @Override protected void onPreExecute() { pd = ProgressDialog.show(activity, "Signing in", "Please wait while we are signing you in.."); } @Override protected Boolean doInBackground(Void... arg0) { try { Thread.sleep(10000000); } catch (InterruptedException e) { } pd.dismiss(); return true; } @Override protected void onPostExecute(Boolean result) { Toast.makeText(activity, Boolean.toString(result), Toast.LENGTH_LONG).show(); } 

}

Y ejecuto la tarea del oyente del tecleo del botón: S

 private OnClickListener loginOnClick = new OnClickListener() { public void onClick(View v) { new LoginTask(LoginActivity.this).execute(); startActivity(new Intent(LoginActivity.this, BuiltInCamera.class)); } }; 

¿Hay manera de startActivity de mi subClass ofAsyncTask.

Sí, puede iniciar la actividad desde la subclase de AsyncTask. Vea abajo:

 @Override protected void onPostExecute(Boolean result) { Toast.makeText(activity, Boolean.toString(result), Toast.LENGTH_LONG).show(); activity.startActivity(new Intent(activity, BuiltInCamera.class)); } 

Después de realizar este cambio, asegúrese de quitar startActivity de OnClickListener

Llame a this startActivity(new Intent(LoginActivity.this, BuiltInCamera.class)); onPostExecute() después de mostrar el mensaje de brindis.

De esta manera, una nueva actividad será llamada después de que su AsyncTask ha terminado.

También puedes usar

  Intent intent = new Intent(activity, PageViewActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); activity.getApplicationContext().startActivity(intent); 

Call startActivity dentro del método AsyncTask de AsyncTask

  • Diferencia entre thread / runnable, handler, runonuithread, asynctask
  • Async Task OnProgressUpdate CalledFromWrongThreadException: Sólo el subproceso original que creó una jerarquía de vista puede tocar sus vistas
  • ProgressDialog en AsyncTask lanza una excepción
  • Cómo hacer que el hilo principal esperar, cuando no sé cuándo Async tarea terminar el trabajo.?
  • ¿Cómo puedo ejecutar esta clase en el hilo de interfaz de usuario?
  • ¿Método óptimo para posponer onEvent?
  • AsyncTask y setAdapter en métodos onCreate
  • Devolución de datos de AsyncTask sin bloquear la interfaz de usuario
  • Espera para AsyncTask ejecutado con ProgressDialog
  • Android -El contenido del adaptador ha cambiado pero ListView no recibió una notificación
  • Encriptación y bloqueo de bases de datos Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.