Sto usando Android DownloadManger servizio di sistema per il download di alcuni file in modo seguentericevitore di broadcast DownloadManager.ACTION_DOWNLOAD_COMPLETE ricevere stessa scaricare ID più di una volta con diversi stati di download in 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));
dove mgr
è scaricare esempio Manager, dwnId
viene restituito un ID univoco. Sono anche iscrivo a ACTION_DOWNLOAD_COMPLETE
registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
e del onDownloadComplete BroadcastReceiver OnReceive() metodo che sto ottenendo scaricare Id come
Long dwnId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0);
Dopo che sto interrogazione di Download Manager per lo stato di download
Cursor c = downloadManager.query(new DownloadManager.Query().setFilterById(dwnId)); c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS));
per costanti DownloadManager.STATUS_ *.
Il problema è che sto ricevendo lo stesso downId due volte (il metodo onReceive viene chiamato due volte), una volta con lo stato DownloadManager.STATUS_SUCCESSFUL e una volta con lo stato DownloadManager.STATUS_FAILED per lo stesso dwnId. Sto emettendo la richiesta di scaricare circa 10 file alla volta e sul gestore dei download del dispositivo mostra il conteggio dei download come 12 o 13 nella barra di notifica in alto a sinistra. Penso che il download manager abbia qualche problema nel download di file e ripreso o riavviato automaticamente per scaricare nuovamente lo stesso file. Ecco perché c'è una differenza tra il numero di file che ho richiesto di scaricare e il numero effettivo nella coda di download. Per questo motivo sto ottenendo solo la stessa azione completa DownloadId due volte. Se questo è vero, come restringerlo. Ho torto quale potrebbe essere la ragione per la differenza di conteggio tra ciò che ho richiesto per il download effettivo? Perché il destinatario della trasmissione riceve lo stesso ID di download due volte. Qualcuno può per favore farmelo sapere?
Grazie in anticipo ...
Thx per u r sforzi – vrs
ti dispiacerebbe condividere codice? –
@GaurawYadav Ha pensato: p perché non ha condiviso il codice :) –