¿Cómo paso un contexto a un AsyncTask?

Quiero preformar un Toast cuando se completa una tarea en segundo plano, sólo para que el usuario sepa que ha terminado.

He hecho una nueva clase para mi asyncTask pero no puedo usar getApplicationContext() dentro de esta clase.

Estoy utilizando task.execute(getTempFile(this), getApplicationContext()); Para ejecutar las tareas. GetTempFile devuelve un objeto File, e intentaba pasar el contexto como un objeto Context.

Mi clase de tarea tiene 3 variables AsyncTask<Object, Integer, Integer> para que el contexto esté en el segundo objeto. Sin embargo, esto bloquea la aplicación.

Editar

 public class LocationActivity extends Activity implements LocationListener { protected void handleImage(Bitmap thumbnail){ PushDataToServer task = new PushDataToServer(); task.execute(getTempFile(this), getApplicationContext()); } } public class PushDataToServer extends AsyncTask<Object, Integer, Integer> { Context context; @Override protected Integer doInBackground(Object... params) { // TODO Auto-generated method stub this.context = (Context) params[1]; File file = (File) params[0]; return null; } protected void onPostExecute(String result) { Toast toast = Toast.makeText(this.context, "All done!", Toast.LENGTH_SHORT); toast.show(); } } 

Pase un objeto Context en el AsyncTask del AsyncTask .

Código de muestra:

 public class MyTask extends AsyncTask<?, ? ,?> { private Context mContext; public MyTask(Context context) { mContext = context; } } 

Y luego, cuando está construyendo su AsyncTask :

 MyTask task = new MyTask(this); task.execute(...); 

Pasar en el constructor, no como un parámetro de método. Entonces usted no necesita depender de los parámetros genéricos.

Ejemplo completo: AsyncTask reutilizable

Usted dice que su contexto está en el segundo objeto, pero su segundo objeto es Integer. ¿Podría ser su problema? También – otra sugerencia es poner su clase AsyncTask como una clase interna privada a su actividad – de esa manera estoy bastante seguro de que tendrá acceso a getApplicationContext ().

  • Dispositivo Android detectado conectado a la PC
  • Cómo centrar un ImageView verticalmente en su matriz?
  • ¿Cómo comprobar el idioma de un dispositivo en android?
  • ¿Cómo puedo encontrar el centro de varios puntos? Androide
  • Encontrar puntos contenidos en una ruta de acceso en Android
  • Cómo "esperar" un hilo en Android
  • ¿Cómo almacenar archivos en el directorio de antememoria de Android?
  • ¿Cómo funciona maximumPoolSize de ThreadPoolExecutor?
  • ¿Cómo puedo ejecutar 2 actividades al mismo tiempo
  • Contraseña de protección de mi aplicación Android (la forma más sencilla)
  • Cómo sincronizar datos entre dispositivos en Wi-Fi
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.