android: mostrando un diálogo de progreso

He visto la API de Android y otras publicaciones aquí en stackoverflow, pero no he podido resolver esto.

Mi aplicación descarga archivos a la tarjeta SD. Me gustaría abrir un cuadro de diálogo "cargando ..." mientras se descarga el archivo y luego hacer que desaparezca cuando finalice la descarga. Esto es lo que se me ocurrió usando la API de Android:

ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);

//download file

pd.cancel();

sin embargo, el cuadro de diálogo no se muestra realmente. cuando lo depuro, dice que se muestra, pero obviamente no está en la pantalla.

¿que puedo hacer?

Respuestas a la pregunta(2)

Su respuesta a la pregunta