2012-06-20 22 views
9

Solución: API 11 es necesario ver la respuesta a continuación!desaparece la notificación - Android DownloadManager

Pregunta fácil: Después de descargar un archivo con el DownloadManager implementado, la notificación desaparece. ¿Cómo fuerzo la Notificación a permanecer después de la Descarga?

He intentado utilizar VISIBILITY_VISIBLE_NOTIFY_COMPLETED, pero no sabe cómo puedo usarlo

Gracias por cualquier tipo de ayuda para resolver este problema;)

EDIT: Código

public class BgDL extends Activity { 

private DownloadManager mgr = null; 
private long id; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 

    mgr = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 

    Request request = new Request(Uri.parse(getIntent().getStringExtra("URL"))); 

    id = mgr.enqueue(request 
      .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "UPDATE") 
      .setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE) 
      .setAllowedOverRoaming(false) 
      .setTitle("APP update") 
      .setDescription("New version "+getIntent().getDoubleExtra("OV", 0.0)) 


    ); 

    registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

} 
BroadcastReceiver receiver = new BroadcastReceiver() { 


     public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 
     if (action.equals(mgr.ACTION_DOWNLOAD_COMPLETE)){ 
      unregisterReceiver(receiver); 
      finishActivity(99); 
     } 
     } 


}; 

}

+1

Plz publicar un código para salir de. Thnx – CelticParser

+0

¿Qué API también usas? –

+0

@malger, ¿lograste resolver esto? Mi notificación desaparece también. –

Respuesta

21

Agregue la bandera correcta a su solicitud:

Request request = new Request(Uri.parse(getIntent().getStringExtra("URL"))); 

request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 

Referencia:

http://developer.android.com/reference/android/app/DownloadManager.Request.html#setNotificationVisibility(int)

controlar si una notificación del sistema se publica por el gestor de descargas, mientras que la descarga está en marcha o cuando se haya completado. Si está habilitado, el administrador de descargas publica notificaciones sobre descargas a través del sistema NotificationManager. Por defecto, una notificación se muestra solo cuando la descarga está en progreso.

http://developer.android.com/reference/android/app/DownloadManager.Request.html#VISIBILITY_VISIBLE_NOTIFY_COMPLETED

Esta descarga es visible y muestra en las notificaciones, mientras que en curso y después de su finalización.

+0

gracias por la ayuda, pero el problema no está resuelto todavía. Obtengo: 'VISIBILITY_VISIBLE_NOTIFY_COMPLETED no se puede resolver o no es un campo – malger

+0

Tienes que importarlo como he mostrado. Está vinculado en la API – Blundell

+0

pero lo he importado: " import android.app.DownloadManager; import android.app.DownloadManager.Request;" – malger

Cuestiones relacionadas