estoy usando Android System Service DownloadManger para la descarga de algunos archivos en el siguiente maneraDownloadManager.ACTION_DOWNLOAD_COMPLETE emisión receptor que recibe el mismo id descarga más de una vez con diferentes estados de descarga en Android
dwnId = mgr.enqueue(new DownloadManager.Request(serveruri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(getAlbumName())
.setDescription(getTrackName())
.setDestinationUri(deviceUri)
.setShowRunningNotification(true));
donde mgr
es descargar el gestor de instancias, dwnId
es ID único devuelto. También estoy registrando para ACTION_DOWNLOAD_COMPLETE
registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
y en OnReceive del onDownloadComplete BroadcastReceiver() método que estoy recibiendo Id de descargas como
Long dwnId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0);
Después de que yo estoy consultando Administrador de descargas de Estado de la descarga
Cursor c = downloadManager.query(new DownloadManager.Query().setFilterById(dwnId)); c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS));
para las constantes DownloadManager.STATUS_ *.
El problema es que estoy recibiendo el mismo downId dos veces (significa que el método onReceive se llama dos veces), una vez con el estado DownloadManager.STATUS_SUCCESSFUL y una con el estado DownloadManager.STATUS_FAILED para el mismo dwnId. Estoy emitiendo una solicitud para descargar unos 10 archivos a la vez pero, en el administrador de descargas del dispositivo, se muestra el conteo de descargas como 12 o 13 en la barra de notificaciones superior izquierda. Creo que el administrador de descargas tiene algún problema para descargar archivos y se reanudó o reinició automáticamente para descargar el mismo archivo nuevamente. Es por eso que hay una diferencia entre el número de archivos que solicité descargar y el número real en la cola de descarga. Debido a esto, solo estoy obteniendo la misma acción completa de DownloadId dos veces. Si esto es cierto, cómo restringirlo. ¿Me equivoco cuál podría ser el motivo de la diferencia de conteo entre lo que solicité y la descarga real? ¿Por qué el receptor de difusión recibe la misma Id de descarga dos veces? ¿Alguien puede decirmelo?
Gracias por adelantado ...
Thx por u r esfuerzos – vrs
¿Le importaría compartir código? –
@GaurawYadav Le importó Creo: p como él no compartió el código :) –